2012-07-06 30 views
6

Tôi đang sử dụng SQL Server 2008 R2. Tôi chỉ tự hỏi tại sao câu lệnh này không hoạt động chính xác.Câu lệnh SQL LIKE sử dụng ký tự unicode không hiển thị kết quả chính xác

Ví dụ: Câu lệnh

WHERE CONTRACTORNAME LIKE '%á%' 

sẽ mang lại cho tôi kết quả chính xác cho mỗi hồ sơ có chứa "á". Nhưng tuyên bố

WHERE CONTRACTORNAME LIKE '%ạ%' 

sẽ không cung cấp bất kỳ bản ghi nào mặc dù trong cột CONTRACTORNAME có nhiều bản ghi chứa ký tự này. Bất kỳ giúp đỡ?

+1

có thể trùng lặp của http://stackoverflow.com/questions/4251765/how-to-use-like-statement-with-unicode-strings – lukiffer

+1

nào DBMS bạn có dùng không? PostgreSQL? Oracle? DB2? –

+0

Tôi đang sử dụng MS SQL 2008 R2. Chỉ cần chỉnh sửa câu hỏi của tôi: D – user1507164

Trả lời

15

Hãy thử sử dụng một chuỗi tìm kiếm Unicode:

WHERE CONTRACTORNAME LIKE N'%ạ%' 
+3

Cảm ơn Kevin. Điều đó đã giải quyết được vấn đề của tôi. : D – user1507164

+0

Cảm ơn bạn. Điều đó giải quyết vấn đề của tôi quá :) – NET3

Các vấn đề liên quan