使用单字符通配符更新无效

时间:2012-10-03 17:44:36

标签: sql-server replace

为什么这不起作用?这是字符集问题还是什么?这真让我抓狂。我一直在搜索。也许它只是其中的一天。 :(

select replace('Doe, John B ',' _ ','')

预期结果:" Doe,John"

实际结果:" Doe,John B"

如果使用replace无法做到这一点,我还能如何实现这一结果?

2 个答案:

答案 0 :(得分:2)

REPLACE函数不接受sql server中的模式/通配符。

答案 1 :(得分:1)

对于这个变量:

select 
rtrim(reverse(substring(reverse(rtrim('Doe, John B ')), charindex(' ', reverse(rtrim('Doe, John B '))), len(rtrim('Doe, John B ')))))

整张桌子:

select 
rtrim(reverse(substring(reverse(rtrim(columnname)), charindex(' ', reverse(rtrim(columnname))), len(rtrim(columnname)))))
from tablename
where columnname like '% _ '