2011-11-17 27 views

Trả lời

10

Bạn có thể làm một so sánh nhị phân sử dụng:

select * 
from Cust 
where cast(Surname as varbinary(120)) != cast(lower(Surname) as varbinary(120)) 
+0

Bạn cũng có thể làm một điều tương tự và chỉ cần thay đổi collation: 'Ở ĐÂU Họ đối chiếu Latin1_General_CS_AS = thấp (Họ)' – drdwilcox

+0

Dễ dàng sửa chữa nhưng điều này trả hàng với ít nhất một giá trị chữ hoa, không! chỉ trường hợp trên theo câu hỏi. –

1

Bạn có thể làm một cái gì đó như thế này:

SELECT 
CASE WHEN BINARY_CHECKSUM('yourStriNg') = BINARY_CHECKSUM(LOWER('yourStriNg')) 
    THEN 0 
    ELSE 1 
END 

....

Phần còn lại của câu lệnh SQL

3

Một cách khác

SELECT * 
FROM Cust 
WHERE Surname NOT LIKE '%[^A-Z]%' COLLATE Latin1_General_BIN 
Các vấn đề liên quan