【发布时间】:2010-09-15 21:32:55
【问题描述】:
我有一张简单的桌子:
CREATE TABLE [dbo].[Users]([Surname] [nvarchar](50) COLLATE Latin1_General_CI_AI NULL) ON [PRIMARY]
有两行:
Paweł
Pawel
发出以下选择语句:
SELECT *, CAST(Surname AS VARBINARY(30)) AS Expr1, CAST(N'Paweł' AS VARBINARY(30)) AS Expr1
FROM Users WHERE Surname = N'Paweł'
给出以下结果:
Paweł 0x50006100770065004201 0x50006100770065004201
Pawel 0x50006100770065006C00 0x50006100770065004201
返回值为“Pawel”的行,即使它不等于“Paweł”(二进制列显示)。
知道发生了什么吗,SQL 服务器在这种情况下如何认为 Pawel = Paweł?
谢谢,帕维尔
【问题讨论】:
标签: .net sql sql-server tsql encoding