J'ai un problème dans SQL Server 2000 lors de la recherche d'un terme farsi
-
14-10-2019 - |
Question
J'ai un problème dans SQL Server 2000 avec la recherche farsi.
J'ai une table avec des champs de nvarchar
avec des valeurs et des besoins unicode (farsi) de rechercher dans le contenu de ce texte unicode (de farsi).
J'utilise
select * from table1
where fieldname like '%[farsi word]%'
Mon mot farsi est exist mais retour 0 ligne.
Que puis-je faire?
remercie tous.
La solution
Si vous utilisez des champs de NVARCHAR
, vous devez également utiliser Unicode lors de la recherche! Pour ce faire, un préfixer N
avant votre terme de recherche:
select * from table1
where fieldname like N'%[farsi word]%'
En outre: il faut savoir si le terme de recherche commence par un caractère générique %
, vous avez essentiellement désactivé toute utilisation de tous les indices qu'il pourrait y avoir pour accélérer votre recherche. L'utilisation LIKE %...%
pour la recherche entraînera toujours une analyse de table assez lent ....