2011-11-17 79 views

回答

10

你可以用做一个二进制比较:

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

你也可以做类似的事情,只是更改排序规则:'WHERE姓COLLATE Latin1_General_CS_AS =低(姓)' – drdwilcox

+0

容易修复,但此方法返回至少一个大写值,而不是行!只有大写的问题。 –

1

你可以做这样的事情:

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

....

休息的SQL语句

3

另一种方式

SELECT * 
FROM Cust 
WHERE Surname NOT LIKE '%[^A-Z]%' COLLATE Latin1_General_BIN 
相关问题