Cómo manejar la colación en bases de datos SQL Server

La colación se refiere a la página de códigos, la sensibilidad a las mayúsculas y minúsculas, la sensibilidad a los acentos y el idioma o alfabeto utilizados en una base de datos. Normalmente, la colación se maneja a nivel de base de datos. Por ejemplo, la mayoría de los administradores de bases de datos en Norteamérica utilizan la colación por defecto, que no distingue entre mayúsculas y minúsculas. La colación no afecta a los datos en sí, sino a cómo se comparan e indexan.

Índice de Contenido
  1. Forzar el uso de una colación específica
  2. Crea una base de datos de prueba
  3. Ejemplos de consultas con diferentes colaciones
  4. Modificando la colación de una fila
  5. Obtener información sobre las colaciones disponibles
  6. Conclusiones

Forzar el uso de una colación específica

En este artículo, veremos cómo se puede forzar el uso de una colación específica sin tener en cuenta la colación especificada al crear la base de datos. También analizaremos algunas de las complicaciones que surgen cuando una base de datos tiene que lidiar con múltiples juegos de caracteres.

Crea una base de datos de prueba

Antes de comenzar con los experimentos de este artículo, vamos a crear una base de datos de prueba y poblarla con algunas filas. Puedes utilizar el siguiente fragmento de código:

CREATE DATABASE ejemplo;

USE ejemplo;

CREATE TABLE usuarios (
    id INT PRIMARY KEY,
    nombre VARCHAR(50) COLLATE Latin1_General_CI_AS
);

INSERT INTO usuarios (id, nombre)
VALUES (1, 'Juan'),
       (2, 'Ana'),
       (3, 'María'),
       (4, 'Pedro');

Una vez que hayas creado la base de datos y la tabla de usuarios, estaremos listos para realizar los ejemplos que se presentan a continuación.

Ejemplos de consultas con diferentes colaciones

A continuación, se presentan algunas consultas de ejemplo que puedes ejecutar en la base de datos de prueba. En cada caso, la consulta devuelve las cuatro filas. Esto es de esperar cuando se selecciona una colación que no distingue entre mayúsculas y minúsculas. Pero, ¿qué sucede cuando necesitamos encontrar una fila específica mediante una coincidencia exacta?

En este caso, la colación entra en juego. Aunque un administrador de base de datos suele especificar la colación al crear la base de datos, es posible aplicar una colación diferente después del hecho simplemente agregando un predicado COLLATE a la cláusula WHERE. A continuación, se muestra un ejemplo:

Cómo instalar y configurar Sybase Adaptive Server Enterprise (ASE) en Linux
SELECT * 
FROM usuarios 
WHERE nombre = 'maría' COLLATE Latin1_General_CS_AS;

La primera consulta devuelve exactamente una fila, mientras que la segunda no devuelve ninguna.

Modificando la colación de una fila

Supongamos que deseamos cambiar todas las posibles variaciones de la palabra 'Pedro' a 'Pédro'. Podemos hacerlo fácilmente con el código siguiente:

UPDATE usuarios
SET nombre = 'Pédro'
WHERE nombre COLLATE Latin1_General_CS_AS LIKE 'pedro';

Ejecutar esta transacción nos permite hacer esa modificación en los datos. Esto es especialmente útil cuando se heredan datos de bases de datos mainframe y se desea corregir la escritura de palabras en mayúsculas.

Obtener información sobre las colaciones disponibles

Si deseas obtener una lista de todas las colaciones disponibles, junto con explicaciones concisas, puedes ejecutar la siguiente consulta:

SELECT * FROM ::fn_helpcollations();

Para determinar la colación predeterminada de una base de datos específica, puedes utilizar el siguiente código:

SELECT collation_name
FROM master.sys.databases
WHERE Name='ejemplo';

Conclusiones

La colación en las bases de datos determina cómo se comparan y ordenan los datos. Es importante comprender cómo funciona la colación y cómo se puede modificar para obtener los resultados deseados. Esperamos que este artículo te haya proporcionado una visión general útil sobre la colación en las bases de datos.

Qué es sudo y por qué deberías usarlo

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Gestión de datos, allí encontraras muchos artículos similares a Cómo manejar la colación en bases de datos SQL Server , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.