Arapçada ا (alef) ve أ (hamza ile alef) gibi karakterlerimiz var.
Kullanıcılar bunları birbirlerinin yerine yazıyor ve birbirlerinin yerine aramak istiyoruz. SQL Server bunları ayrı karakterler olarak kabul eder. SQL'in onlara aynı karakter olarak davranmasını nasıl sağlayabilirim?
Takma sırasında herhangi bir أ (alef ile hamza) yerine ا (alef) yerine düşündüm, ancak Arapça dilinde sadece ا (alef) ve أ (hamza ile alef) değil, birçok alternatifimiz var.
Denedim Arabic_CI_AS
ve Arabic_CI_AI
ancak bu sorunu çözmez.
İşte sorunu yeniden oluşturmak için bir komut dosyası:
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'ا%';
Sonuç:
ArabicChars
احمد
(1 row(s) affected)
İstenen sonuç, eklediğimiz satırların her ikisi olacaktır.
ا and أ