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.