Dalam bahasa Arab kami memiliki karakter seperti ا (alef) dan أ (alef dengan hamza).
Pengguna menulisnya secara bergantian dan kami ingin mencari mereka secara bergantian. SQL Server memperlakukan mereka sebagai karakter terpisah. Bagaimana saya bisa membuat SQL memperlakukan mereka sebagai karakter yang sama?
Saya berpikir untuk mengganti أ (alef dengan hamza) dengan ((alef) saat penyisipan tetapi kami memiliki banyak alternatif dalam bahasa Arab tidak hanya ا (alef) dan أ (alef dengan hamza).
Saya sudah mencoba Arabic_CI_AS
dan Arabic_CI_AI
itu tidak menyelesaikan masalah.
Berikut ini adalah skrip untuk membuat ulang masalah:
CREATE TABLE [dbo].[TestTable] (
[ArabicChars] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED
(
[ArabicChars] ASC
)
) ON [PRIMARY];
INSERT INTO TestTable values (N'احمد');
INSERT INTO TestTable values (N'أحمد');
SELECT *
FROM TestTable
WHERE ArabicChars like N'ا%';
Hasilnya adalah:
ArabicChars
احمد
(1 row(s) affected)
Hasil yang diinginkan adalah baris yang kami masukkan.
ا and أ