Um
IN
list é apenas uma abreviação para condições OR. O LIKE
cláusula funciona com NTEXT
e TEXT
Campos. Então, você pode combinar essas duas ideias para fazer isso:WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
No entanto, como @marc_s sugeriu em um comentário na pergunta,
NVARCHAR(MAX)
é o preferido, pois todas as funções de string funcionam com ele (e o TEXT
, NTEXT
e IMAGE
tipos de dados foram preteridos a partir do SQL Server 2005). Você poderia faça uma conversão inline como:WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
mas provavelmente isso não funcionaria tão bem quanto usar o
LIKE
cláusula com OR
condições. Observação: Ao trabalhar com
NTEXT
/ NVARCHAR
/ NCHAR
/ XML
dados, é melhor sempre literais de string de prefixo com um "N" maiúsculo. Não fazer isso pode resultar em perda de dados para quaisquer caracteres não suportados pela página de código associada ao agrupamento padrão do banco de dados. Para obter mais informações sobre como trabalhar com agrupamentos / codificações / Unicode / strings em geral no SQL Server, visite:https://Collations. Informações/