Được rồi, vì vậy, việc đào sâu hơn một chút cho thấy điều này gần như chắc chắn là do ký tự mới hơn, vì điều này cũng hoạt động với các bản đối chiếu latin tương đương của máy chủ sql 2008, nhưng không hoạt động với các phiên bản cũ hơn, tức là hoạt động với Latin1_General_100_CI_AS
, nhưng không phải với Latin1_General_CI_AS
. Để có danh sách đầy đủ các đối chiếu so sánh chính xác các chuỗi này, tôi đã sử dụng:
IF OBJECT_ID('Tempdb..#T') IS NOT NULL
DROP TABLE #T;
IF OBJECT_ID('Tempdb..#V') IS NOT NULL
DROP TABLE #V;
CREATE TABLE #V (A NVARCHAR(50), B NVARCHAR(50));
INSERT #V (A, B) VALUES (N'it᧠', N'it');
CREATE TABLE #T (Collation VARCHAR(500), Match BIT);
DECLARE @SQL NVARCHAR(MAX) = (SELECT N'INSERT #T (Collation, Match)
SELECT ''' + Name + ''', CASE WHEN A = B COLLATE ' + name + ' THEN 1 ELSE 0 END
FROM #V;'
FROM sys.fn_helpcollations()
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)');
EXECUTE sp_executesql @SQL;
SELECT *
FROM #T
WHERE Match = 0;