Hãy thử
SELECT *
FROM MyTable
WHERE FirstName = UPPER(FirstName) COLLATE SQL_Latin1_General_CP1_CS_AS
collation này cho phép so sánh trường hợp nhạy cảm.
Nếu bạn muốn thay đổi collation của cơ sở dữ liệu của bạn, do đó bạn không cần phải thể chỉ định một collation trường hợp nhạy cảm trong các truy vấn của bạn, bạn cần phải làm như sau (from MSDN):
1) Đảm bảo bạn có tất cả thông tin hoặc tập lệnh cần thiết để tạo lại cơ sở dữ liệu người dùng của bạn và tất cả các đối tượng trong đó.
2) Xuất tất cả dữ liệu của bạn bằng công cụ như Tiện ích bcp.
3) Thả tất cả cơ sở dữ liệu người dùng.
4) Xây dựng lại cơ sở dữ liệu chính chỉ định collation mới trong thuộc tính SQLCOLLATION của lệnh thiết lập. Ví dụ:
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
/SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
/SQLCOLLATION=CollationName
5) Tạo tất cả cơ sở dữ liệu và tất cả các đối tượng trong đó.
6) Nhập tất cả dữ liệu của bạn.
Nguồn
2011-11-17 15:39:40
Điều đó sẽ làm việc. Bạn nhận được kết quả gì? – Polynomial
@Polynomial, tôi chỉ nhận được kết quả tương tự như khi tôi chạy "WHERE FirstName = FirstName" ... có lẽ là mã hóa cần phải được khác nhau (nếu có ý nghĩa .. idk gì im nói về chính xác) – daveomcd