【发布时间】:2021-05-25 21:16:42
【问题描述】:
我在表格中有一些行有一些不寻常的字符。当我对该字符使用 ascii() 或 unicode() 时,它返回 63。但是当我尝试这个时 -
update MyTable
set MyColumn = replace(MyColumn,char(63),'')
它不会取代。替换功能后异常字符仍然存在。 Char(63) 看起来像一个问号。
例如,我的字符串是 'ddd#dd ddd' 其中 # 这是我不寻常的字符和
select unicode('#')
return me 63.But this code
declare @str nvarchar(10) = 'ddd#dd ddd'
set @char = char(unicode('#'))
set @str = replace(@str,@char,'')
正在工作!
有什么办法解决这个问题吗?
其他信息:
select ascii('�') 返回 63,select ascii('?') 也是如此。最后select char(63) 返回? 而不是菱形问号。
当这个字符被粘贴到 Excel 或文本编辑器中时,它看起来像一个空格,但在 SQL Server 查询窗口中(显然,在 StackOverflow 上也是如此),它看起来像一个包含问号的菱形。
【问题讨论】:
标签: sql sql-server