use*_*271 2 sql t-sql sql-server-2005 sql-server-2008
我有包含错误字符值的列?。现在我想把它改成 character b。为此,我使用以下语句:
SELECT REPLACE(name,'?','b') from contacts;
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时什么也没有发生,它返回值?.
我做错了什么?我怎么能换这个?
您实际上是在尝试更改表中的值吗?在这种情况下,您需要执行以下操作UPDATE:
UPDATE contacts
SET name = Replace(name,'?','b')
Run Code Online (Sandbox Code Playgroud)
否则,如果您只是想检索修改后的值,那么您的语法应该可以正常工作。(我测试过,?不必转义或其他任何东西):
SELECT name, Replace(name,'?','b') as Fixed
FROM contacts
Run Code Online (Sandbox Code Playgroud)