Ah, tapi itu adalah mungkin karena ada susunan yang menangani ini secara alami (sebenarnya beberapa, tetapi semuanya dalam "keluarga" yang sama):Hungarian_Technical_* (well, minus variasi CaseSensitive (CS) dan Binary (BIN / BIN2)). Tentu saja, saya masih tidak yakin ini adalah pilihan yang baik untuk PK, tetapi tidak ada alasan untuk tidak menjadi UNIQUE INDEX
.
SELECT tmp.*,
IIF(tmp.[First] = tmp.[Second] COLLATE Hungarian_Technical_CI_AI,
N'Equal',
N'NOT EQUAL') AS [Result]
FROM (
SELECT N'weiß', N'Weiß', N'Equal'
UNION ALL
SELECT N'weiss', N'Weiss', N'Equal'
UNION ALL
SELECT N'weiß', N'weiss', N'NOT Equal'
UNION ALL
SELECT N'Weiß', N'Weiss', N'NOT Equal'
UNION ALL
SELECT N'weiß', N'Weiss', N'NOT Equal'
) tmp ([First], [Second], [Ideal]);
Hasil:
First Second Ideal Result
weiß Weiß Equal Equal
weiss Weiss Equal Equal
weiß weiss NOT Equal NOT EQUAL
Weiß Weiss NOT Equal NOT EQUAL
weiß Weiss NOT Equal NOT EQUAL
Ada 24 total collations yang akan bekerja dengan cara ini. Anda dapat menemukannya melalui:
SELECT hc.*
FROM sys.fn_HelpCollations() hc
WHERE hc.name LIKE N'Hungarian[_]Technical%'
AND hc.name LIKE N'%[_]CI%'
ORDER BY hc.name;
Mereka adalah:
Jika versi 100
collation tersedia (artinya:Anda menggunakan SQL Server 2008 atau yang lebih baru), lalu gunakan itu dan bukan collation tanpa nomor versi di namanya.
EDIT:
Saya menemukan beberapa info tambahan tentang susunan "Teknis Hongaria" yang mungkin menarik:
-
MySQL:Hungarian collation -- Ini adalah arsip diskusi listserv oleh beberapa pengembang MySQL yang mencoba mencari tahu secara spesifik tentang cara mengimplementasikan pemeriksaan. Rupanya ia memiliki beberapa aturan yang rumit, karena setidaknya sebagian perlu menyamakan beberapa karakter menjadi satu karakter untuk menyortir (cari bagian "3. Aturan digraf/trigraf khusus"). Ini mungkin menyebabkan beberapa perilaku yang tidak terduga. Kombinasi huruf tertentu dicatat di bagian itu sehingga setidaknya memudahkan untuk menyiapkan kasus uji untuk membantu menentukan apakah aturan penyortiran tidak valid menggunakan susunan ini.
-
Mengapa ada begitu banyak(106) susunan bahasa Hongaria? -- Ini adalah diskusi di social.msdn yang memiliki beberapa info menarik. Ada komentar di sana oleh Erland Sommarsko di mana dia menyatakan:
Mengingat diskusi dari pengembang MySQL tentang aturan yang rumit, hasil pengujian tersebut tampaknya tidak terlalu mengejutkan.
Jadi, kedua item ini mungkin harus diperhitungkan dalam memutuskan apakah akan menempuh rute mudah atau tidak dengan hanya menyetel bidang NVARCHAR ke salah satu kumpulan Teknis Hongaria ini, atau mengikuti rekomendasi @GarethD dari kolom yang dihitung.
Untuk info lebih lanjut tentang bekerja dengan string dan collations, silakan kunjungi:Info Collations