En IN
listan är bara en förkortning för OR-villkor. LIKE
sats fungerar med NTEXT
och TEXT
fält. Så du kan kombinera dessa två idéer för att göra detta:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Men som @marc_s föreslog i en kommentar till frågan, NVARCHAR(MAX)
är att föredra eftersom alla strängfunktioner fungerar med den (och TEXT
, NTEXT
och IMAGE
datatyper har fasats ut från och med SQL Server 2005). Du kunde gör en inline-konvertering som:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
men det skulle troligen inte fungera lika bra som att använda LIKE
sats med OR
villkor.
Observera: När du arbetar med NTEXT
/ NVARCHAR
/ NCHAR
/ XML
data, är det bäst att alltid prefix sträng bokstaver med ett versaler "N". Om du inte gör det kan det leda till dataförlust för tecken som inte stöds av teckentabellen som är kopplad till standardsorteringen av databasen.
För mer information om att arbeta med sorteringar / kodningar / Unicode / strängar i allmänhet i SQL Server, besök:https://Collations. Info/