En IN
listen er kun en forkortelse for OR-betingelser. LIKE
klausul fungerer med NTEXT
og TEXT
felter. Så du kan kombinere disse to ideer for at gøre dette:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Men som @marc_s foreslog i en kommentar til spørgsmålet, NVARCHAR(MAX)
foretrækkes, da alle strengfunktioner arbejder med den (og TEXT
, NTEXT
og IMAGE
datatyper er blevet forældet fra og med SQL Server 2005). Du kunne lav en inline-konvertering såsom:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
men det ville sandsynligvis ikke fungere så godt som at bruge LIKE
klausul med OR
betingelser.
Bemærk venligst: Når du arbejder med NTEXT
/ NVARCHAR
/ NCHAR
/ XML
data, er det bedst at altid præfiks streng bogstaver med et stort "N". Hvis du ikke gør det, kan det resultere i datatab for tegn, der ikke understøttes af tegntabel, der er knyttet til standardsorteringen af databasen.
For mere information om at arbejde med kollationer / kodninger / Unicode / strenge generelt i SQL Server, besøg venligst:https://Collations. Info/