Ein IN
list ist nur eine Abkürzung für ODER-Bedingungen. Das LIKE
Klausel funktioniert mit NTEXT
und TEXT
Felder. Sie können also diese beiden Ideen kombinieren, um dies zu tun:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Wie @marc_s jedoch in einem Kommentar zur Frage vorgeschlagen hat, NVARCHAR(MAX)
wird bevorzugt, da alle String-Funktionen damit arbeiten (und die TEXT
, NTEXT
, und IMAGE
Datentypen sind seit SQL Server 2005 veraltet). Sie könnten Führen Sie eine Inline-Konvertierung durch, z. B.:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
aber wahrscheinlich würde das nicht so gut funktionieren wie die Verwendung von LIKE
-Klausel mit OR
Bedingungen.
Bitte beachten: Beim Arbeiten mit NTEXT
/ NVARCHAR
/ NCHAR
/ XML
Daten, am besten immer Stellen Sie Zeichenfolgenliteralen ein großes "N" voran. Andernfalls kann es zu Datenverlusten für alle Zeichen kommen, die nicht von der Codepage unterstützt werden, die der Standardsortierung der Datenbank zugeordnet ist.
Weitere Informationen zum Arbeiten mit Sortierungen / Kodierungen / Unicode / Zeichenfolgen im Allgemeinen in SQL Server finden Sie unter:https://Collations. Info/