Un IN
list es solo una forma abreviada de condiciones OR. El LIKE
cláusula funciona con NTEXT
y TEXT
campos. Entonces, puedes combinar esas dos ideas para hacer esto:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Sin embargo, como sugirió @marc_s en un comentario sobre la Pregunta, NVARCHAR(MAX)
se prefiere ya que todas las funciones de cadena funcionan con él (y el TEXT
, NTEXT
y IMAGE
tipos de datos han quedado obsoletos a partir de SQL Server 2005). podrías haga una conversión en línea como:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
pero probablemente eso no funcionaría tan bien como usar LIKE
cláusula con OR
condiciones.
Tenga en cuenta: Cuando se trabaja con NTEXT
/ NVARCHAR
/ NCHAR
/ XML
datos, lo mejor es siempre prefijo literales de cadena con una "N" mayúscula. No hacerlo puede provocar la pérdida de datos de cualquier carácter no compatible con la página de códigos asociada con la intercalación predeterminada de la base de datos.
Para obtener más información sobre cómo trabajar con intercalaciones/codificaciones/Unicode/cadenas en general en SQL Server, visite:https://Collations. Información/