SQL Server为某些Unicode字符返回问号

时间:2019-07-18 09:58:37

标签: sql-server unicode sql-server-2016

nvarchar(512)字段中,如果我这样存储Unicode字符:

UPDATE MYTABLE SET UNICODEFIELD = 'TレEホSᅯTル'

查询时得到

T?E?S?T?

看起来“不寻常”字符不被视为unicode,我希望使用“?” varchar时的行为,而我期望nvarchar可以正常工作

TレEホSᅯTル

作为输出,而不是

T?E?S?T?

有人对此有想法吗?

1 个答案:

答案 0 :(得分:2)

因为您使用的是varchar,而不是nvarchar'TレEホSᅯTル' = 'T?E?S?T?',因为像这样的字符不能存储在varchar中。

使用文字nvarchar

UPDATE MYTABLE SET UNICODEFIELD = N'TレEホSᅯTル';