Búsqueda por caracteres Árabes en SQL server

Tengo una base de datos donde una tabla tiene un campo llamado textoArabe que es de tipo nvarchar(1000) que permite guardar textos tanto en escritura latina (europea) y escritura con caracteres árabes.

El problema se me presenta cuando intento buscar por un caracter árabe y no me encuentra nada.

Por ejemplo, tengo un registro en el que esta escrito lo siguiente (que ni se lo que significa), en donde he mezclado ambos caracteres:

بورتريه للشخdfdsص الع

Cuando pongo la consulta:

SELECT *
  FROM [PRUEBA]
  where textoArabe like'%d%'

Me devuelve correctamente el texto, pero si pongo:

  SELECT *
  FROM [PRUEBA]
  where textoArabe like'%ل%'

No me devuelve nada.

Agradecería si alguien me puede indicar como hacer la búsqueda por caracteres árabes.

4
задан 29.12.2016, 18:26
0 ответов

Пробуй добавляя N в начало цепи, которую ты хочешь сравнить, например, я реализовал следующее упражнение. Предполагая, чем в определении поля Arabic ты имеешь COLLATE Arabic_CI_AI_KS_WS, а другой только будут храниться вопросительные знаки, где ему не удалось интерпретировать характер:

CREATE TABLE ArabicTextTest
(
    Arabic VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS
)

INSERT INTO ArabicTextTest 
VALUES(N'بورتريه للشخdfdsص الع')

SELECT * FROM ArabicTextTest
WHERE Arabic = N'بورتريه للشخdfdsص الع'

SELECT * FROM ArabicTextTest
WHERE Arabic LIKE N'%ل%'
1
ответ дан 03.12.2019, 17:56