IN
danh sách chỉ là ngắn gọn cho các điều kiện HOẶC. LIKE
mệnh đề hoạt động với NTEXT
và TEXT
lĩnh vực. Vì vậy, bạn có thể kết hợp hai ý tưởng đó để thực hiện việc này:
WHERE (
someNtext LIKE N'asd'
OR someNtext LIKE N'asd1'
)
Tuy nhiên, như @marc_s đã đề xuất trong nhận xét về Câu hỏi, NVARCHAR(MAX)
được ưu tiên vì tất cả các hàm chuỗi hoạt động với nó (và TEXT
, NTEXT
và IMAGE
kiểu dữ liệu đã không được chấp nhận kể từ SQL Server 2005). Bạn có thể thực hiện chuyển đổi nội tuyến chẳng hạn như:
WHERE CONVERT(NVARCHAR(MAX), someNtext) IN (N'asd', N'asd1')
nhưng có khả năng điều đó sẽ không hoạt động tốt như việc sử dụng LIKE
mệnh đề với OR
điều kiện.
Xin lưu ý: Khi làm việc với NTEXT
/ NVARCHAR
/ NCHAR
/ XML
dữ liệu, tốt nhất là luôn luôn chuỗi ký tự tiền tố với chữ hoa "N". Không làm như vậy có thể dẫn đến mất dữ liệu cho bất kỳ ký tự nào không được hỗ trợ bởi trang mã được liên kết với đối chiếu mặc định của cơ sở dữ liệu.
Để biết thêm thông tin về cách làm việc với collations / encodings / Unicode / string nói chung trong SQL Server, vui lòng truy cập: https:// Collations. Thông tin /