Un IN
list n'est qu'un raccourci pour les conditions OR. Le LIKE
la clause fonctionne avec NTEXT
et TEXT
des champs. Vous pouvez donc combiner ces deux idées pour y parvenir :
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Cependant, comme @marc_s l'a suggéré dans un commentaire sur la question, NVARCHAR(MAX)
est préféré car toutes les fonctions de chaîne fonctionnent avec (et le TEXT
, NTEXT
, et IMAGE
les types de données sont obsolètes depuis SQL Server 2005). Vous pourriez faire une conversion en ligne telle que :
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
mais cela ne fonctionnerait probablement pas aussi bien que d'utiliser le LIKE
clause avec OR
conditions.
Veuillez noter : Lorsque vous travaillez avec NTEXT
/ NVARCHAR
/ NCHAR
/ XML
données, il est préférable de toujours préfixer les littéraux de chaîne avec un "N" majuscule. Ne pas le faire peut entraîner une perte de données pour tous les caractères non pris en charge par la page de code associée au classement par défaut de la base de données.
Pour plus d'informations sur l'utilisation des classements / encodages / Unicode / chaînes en général dans SQL Server, veuillez visiter :https://Collations. Infos/