SQL Server - Contar frases en mayúscula

   
Vista:

Contar frases en mayúscula

Publicado por Simonet (2 intervenciones) el 17/06/2016 13:12:25
Hola a todos,

En la columna de una tabla tengo frases en minúscula y frases en mayúscula. ¿Cómo puedo contar las que estac completamente en mayúscula?

Gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Contar frases en mayúscula

Publicado por Isaias (3180 intervenciones) el 18/06/2016 00:03:40
¿Un ejemplo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Contar frases en mayúscula

Publicado por Simonet (2 intervenciones) el 20/06/2016 10:33:39
Hola Isaías,

Como bien sabes SQL Server no es case sensitive, es decir, no distingue minúsculas de mayúsculas. Por tant si tu haces la búsqueda:

SELECT @titulo LIKE '%HOLA%' FROM @tabla

te reportarà

1-HOLA
2-Hola
3-HoLa

Pero si sólo quieres saber los que estan escritos enteramente en mayúscula no hay forma de distinguirlo.

Bien, una manera de solucionar esto es cambiar el collate del campo de datos a case sensitive.

Entonces la BBDD ya encuentra mayúsculas. Pero lo que yo quiero es distinguir en el camp título aquellos títulos que estan completamente en
mayúscula para diferenciarlos de los que están en minúscula (más de 11.000 registros), teniendo en cuenta que son textos diferentes.

Alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Contar frases en mayúscula

Publicado por Hugo QN (18 intervenciones) el 22/06/2016 21:09:04
Hola Simonet.

usa la función ASCII() de la BD para identificar.
Mayúsculas: de 65 a 90
Minúsculas: de 97 a 122
Números: 48 a 57

Ejemplo:
SELECT ASCII('0'), ASCII('A'), ASCII('a')

pero ¿cual es el fin de identificar si es mayúscula o no?
si sólo es para hacer la busqueda usa las funiones LOWER() ó UPPER()

SELECT * FROM @tabla WHERE UPPER(@titulo) LIKE '%HOLA%'

espero te sirva.

no vendria mal un +1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar