En árabe tenemos caracteres como ا (alef) y أ (alef con hamza).
Los usuarios los escriben indistintamente y queremos buscarlos indistintamente. SQL Server los trata como caracteres separados. ¿Cómo puedo hacer que SQL los trate como el mismo personaje?
Pensé en reemplazar cualquier أ (alef con hamza) con ا (alef) en la inserción, pero tenemos muchas alternativas en idioma árabe, no solo ا (alef) y أ (alef con hamza).
Lo intenté Arabic_CI_AS
y Arabic_CI_AI
eso no resuelve el problema.
Aquí hay un script para regenerar el problema:
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'ا%';
El resultado es:
ArabicChars
احمد
(1 row(s) affected)
El resultado deseado serían las dos filas que insertamos.
ا and أ