IN lista jest po prostu skrótem dla warunków OR. LIKE klauzula działa z NTEXT i TEXT pola. Możesz więc połączyć te dwa pomysły, aby to zrobić:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Jednak, jak zasugerował @marc_s w komentarzu do pytania, NVARCHAR(MAX) jest preferowany, ponieważ działają z nim wszystkie funkcje łańcuchowe (oraz TEXT , NTEXT i IMAGE typy danych są przestarzałe od SQL Server 2005). możesz wykonaj konwersję w wierszu, taką jak:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
ale prawdopodobnie nie będzie to działać tak dobrze, jak przy użyciu LIKE klauzula z OR warunki.
Uwaga: Podczas pracy z NTEXT / NVARCHAR / NCHAR / XML danych, najlepiej zawsze Prefiks literałów ciągu z wielką literą „N”. Niewykonanie tego może spowodować utratę danych dla znaków nieobsługiwanych przez stronę kodową skojarzoną z domyślnym sortowaniem bazy danych.
Aby uzyskać więcej informacji na temat pracy z sortowaniem / kodowaniem / Unicode / ciągami znaków w programie SQL Server, odwiedź stronę:https://Collations. Informacje/