首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Sybase >

请问:SYBASE数据库替换函数的有关问题

2012-03-29 
请教:SYBASE数据库替换函数的问题?我的数据表中的姓名字段,用户在提交数据时把姓名写成:赵云就是两个汉字

请教:SYBASE数据库替换函数的问题?
我的数据表中的姓名字段,用户在提交数据时把姓名写成:赵   云
就是两个汉字中间有空格,存库时被页面代码替换成:赵 云
存入数据库中的姓名字段。
请问如何写个语句将该姓名字段的内容替换成:赵云

也就是数据库中:
name= "赵 云 "
写个语句把他变成:
name= "赵云 "

我这样写好像不行:
update   info   set   name=str_replace(name, '  ', ' ')

执行后的结果会变成:赵   云
中间又变成一个空格了。
请问大家如何解决这个问题?先谢谢了!

[解决办法]
因为空字符串在Sybase的varchar类型中被认为是单个空格,应该使用Null!
[解决办法]
Sybase参考手册中有这么一段:
Examples
Example 1
Replaces the string def within the string cdefghi with yyy.

replace( "cdefghi ", "def ", "yyy ")
-------------
cyyyghi
(1 row(s) affected)

Example 2
Replaces all spaces with "toyota ".

select str_replace( "chevy, ford, mercedes ", " ", "toyota ")
----------
chevy,toyotaford,toyotamercedes
(1 row(s) affected)

Adaptive Server converts an empty string constant to a string of one space automatically, to distinguish the string from NULL values.

Example 3
Returns “abcghijklm”:

select str_replace( "abcdefghijklm ", "def ", NULL)

----------
abcghijklm
(1 row affected)

热点排行