sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo configurar la intercalación de una columna en SQL Server (T-SQL)

De forma predeterminada, cada columna de una base de datos de SQL Server usa la intercalación que se especificó en el nivel de la base de datos. Y de forma predeterminada, la intercalación de la base de datos se toma de la intercalación del servidor. Sin embargo, esta configuración de intercalación se puede anular, tanto en el nivel de la base de datos como en el nivel de la columna, configurando explícitamente la intercalación en ese nivel.

Esta página muestra cómo especificar la intercalación de una columna. Puede configurar la intercalación agregando T-SQL COLLATE cláusula a CREATE TABLE y ALTER TABLE declaraciones. Cuando usa esas declaraciones, define la columna y sus propiedades, incluida cualquier configuración de intercalación. El COLLATE La cláusula es opcional, por lo que si no la incluye, la columna simplemente usará la intercalación predeterminada de la base de datos.

Establecer la intercalación

Este es un ejemplo de cómo especificar la intercalación al crear una tabla:

CREATE TABLE Tasks (
    TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);

Esto crea una tabla llamada Tasks con dos columnas. Establecemos la intercalación de la segunda columna (TaskName ) a French_CI_AI . Si no lo hiciéramos, habría utilizado la intercalación de base de datos predeterminada.

Cambiar la intercalación

En el siguiente ejemplo, cambio la intercalación de la columna a Modern_Spanish_CI_AI_WS :

ALTER TABLE Tasks ALTER COLUMN TaskName
    nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO

Tenga en cuenta que no puede cambiar la intercalación de una columna a la que hace referencia cualquiera de los siguientes:

  • Una columna calculada
  • Un índice
  • Estadísticas de distribución
  • UN CHECK restricción
  • UNA FOREIGN KEY restricción

Comprobar la colación

Si usa SSMS, puede comprobar la intercalación de cualquier columna haciendo clic con el botón derecho en esa columna en el Explorador de objetos y seleccionando Properties. .

En Transact-SQL, hay un par de formas diferentes de devolver la intercalación de una columna. Aquí se explica cómo verificar la intercalación de una columna usando T-SQL.