以下是我的代码示例。
DECLARE @a TABLE (a VARCHAR(20));
INSERT @a
(a)
VALUES ('中');
SELECT *
FROM @a;
我正在使用SQL Server Management Studio来运行它。我的问题是,为什么我可以在VARCHAR列中插入非ascii字符并正确地将其恢复?据我所知,VARCHAR类型仅适用于ascii字符,而NVARCHAR适用于unicode字符。有人可以帮忙解释一下吗?我在Windows 7上使用SQL Server 2014开发人员版。
答案 0 :(得分:2)
用于存储varchar数据的代码页因DB排序规则而异。
https://msdn.microsoft.com/en-us/library/ms189617.aspx
Varchar是8位,所以你可能有不同的排序规则,或者你可能已经很幸运你的角色落在代码集上
答案 1 :(得分:0)