2011-11-17 7 views

Respuesta

10

Se puede hacer una comparación binaria usando:

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

También podría hacer una cosa similar y simplemente cambiar la intercalación: 'DONDE Apellido COLLATE Latin1_General_CS_AS = menor (apellido)' – drdwilcox

+0

solución fácil, pero esto devuelve filas con al menos un valor mayúsculas, no! solo en mayúsculas según la pregunta. –

1

se podría hacer algo como esto:

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

....

Resto de instrucción SQL

3

Otra forma

SELECT * 
FROM Cust 
WHERE Surname NOT LIKE '%[^A-Z]%' COLLATE Latin1_General_BIN 
Cuestiones relacionadas