请教: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)