Collation: Case sensitive y Case insensitive

A raíz de lo escrito en mi post acerca de comparación entre mayúsculas y minúsculas en SQL, hoy quiero recordar un factor que a veces no se tiene en cuenta cuando se definen los campos en una tabla respecto a su collation: podemos definir dichos campos como ¨case sensitive¨(CS), es decir, que tenga en cuenta la diferencia entre mayúsculas y minúsculas, o bien como ¨case insensitive¨ (CI), donde no se tiene en cuenta. Os dejo un ejemplo para que veais y entendais la diferencia: en el conjunto de resultados se ordenan primero las minúsculas y luego las mayúsculas si sacamos los mismos datos de la tabla, pero ordenados por una columna CS. Nos vemos.

CREATE TABLE Tabla_Ejemplo
(
Col1 VARCHAR(15) COLLATE Latin1_General_CI_AS,
Col2 VARCHAR(15) COLLATE Latin1_General_CS_AS
)

INSERT Tabla_Ejemplo(Col1, Col2) VALUES
('Apple','Apple'),
('apple','apple'),
('Sql','Sql'),
('sql','sql');
GO
SELECT * FROM Tabla_Ejemplo order by col1
SELECT * FROM Tabla_Ejemplo order by col2


No hay comentarios :

Publicar un comentario

Buscar en el Blog: