sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2008 och Unicode Character jämförelse

Okej, så lite mer grävande visar att detta nästan säkert beror på nyare karaktär, eftersom detta också fungerar med sql-servern 2008 motsvarigheter till latinsk kollation, men inte de äldre versionerna, dvs. fungerar med Latin1_General_100_CI_AS , men inte med Latin1_General_CI_AS . För att få en fullständig lista över de sorteringar som korrekt jämför dessa strängar använde jag:

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;



  1. Hur redigerar jag min kod för att spara till mySQL från början av XML?

  2. Värdet ÄR INTE NULL i codeigniter

  3. Uppdatera C#-klienten när databasen uppdateras

  4. Vältalande grupp Genom att skapa SQLSTATE[42000] med giltig SQL-fråga i Laravel 5.3