Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbandingan karakter SQL Server 2008 dan Unicode

Oke, jadi penggalian lebih lanjut menunjukkan ini hampir pasti karena karakter yang lebih baru, karena ini juga berfungsi dengan sql server 2008 yang setara dengan susunan latin, tetapi bukan versi yang lebih lama, yaitu bekerja dengan Latin1_General_100_CI_AS , tetapi tidak dengan Latin1_General_CI_AS . Untuk mendapatkan daftar lengkap susunan yang membandingkan string ini dengan benar, saya menggunakan:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemulihan Database yang Dipercepat di SQL Server 2019

  2. Perbaiki "Konversi gagal saat mengonversi nilai varchar" Saat Mencoba Menggabungkan di SQL Server

  3. Pernyataan try-catch SQL tidak menangani kesalahan (SQL Server 2008)

  4. Tidak dapat menghapus skema , karena tidak ada atau Anda tidak memiliki izin. - Tutorial SQL Server / TSQL Bagian 29

  5. Memesan baris induk berdasarkan tanggal turun dengan baris anak dipesan secara independen di bawah masing-masing