REPLACE不在sql表列上工作

Eyt*_*tch 1 sql sql-server sql-server-2008-r2

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

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

我的查询:

SELECT REPLACE(UserName, ' ', '') as UserName FROM MY_TABLE
Run Code Online (Sandbox Code Playgroud)

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

Ale*_* K. 5

@AlexK.这是160为了unicode(left(field, 1))

160是Unicode NO-BREAK SPACE,所以你需要替换它:

replace(UserName, char(160), '')
Run Code Online (Sandbox Code Playgroud)

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