ठीक है, तो थोड़ा और खुदाई से पता चलता है कि यह लगभग निश्चित रूप से नए चरित्र के कारण है, क्योंकि यह लैटिन संयोजन के एसक्यूएल सर्वर 2008 समकक्षों के साथ भी काम करता है, लेकिन पुराने संस्करणों के साथ नहीं, यानी Latin1_General_100_CI_AS
के साथ काम करता है। , लेकिन Latin1_General_CI_AS
. के साथ नहीं . मेरे द्वारा उपयोग किए गए इन स्ट्रिंग्स की सही तुलना करने वाले कोलाजंस की पूरी सूची प्राप्त करने के लिए:
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;