REPLACE不在sql表列上工作

时间:2014-11-03 17:20:10

标签: sql sql-server sql-server-2008-r2

我已经尝试过选择REPLACE(' this is a user name', ' ', '')并且它给了我' thisisausername'应该是。

我的问题是,当我尝试在选择表格列时使用REPLACE时,它不起作用!

我的查询:

SELECT REPLACE(UserName, ' ', '') as UserName FROM MY_TABLE

它仍然给我带有空格的用户名!我做了些蠢事吗?

1 个答案:

答案 0 :(得分:5)

  

@AlexK。对于160

,它是unicode(left(field, 1))

160是Unicode NO-BREAK SPACE,因此您需要替换它:

replace(UserName, char(160), '')

您可以使用空格char(160)更新替换' '的所有内容,然后在将来使用原始查询(也许还可以确保将来无法输入此类值)