Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come impostare le regole di confronto di una colonna in SQL Server (T-SQL)

Per impostazione predefinita, ogni colonna in un database di SQL Server utilizza le regole di confronto specificate a livello di database. E per impostazione predefinita, le regole di confronto del database vengono prese dalle regole di confronto del server. Tuttavia, queste impostazioni di confronto possono essere ignorate, sia a livello di database che a livello di colonna, impostando esplicitamente le regole di confronto a quel livello.

Questa pagina mostra come specificare le regole di confronto di una colonna. Puoi impostare le regole di confronto aggiungendo T-SQL COLLATE clausola al CREATE TABLE e ALTER TABLE dichiarazioni. Quando si utilizzano tali istruzioni, si definisce la colonna e le relative proprietà, incluse eventuali impostazioni di confronto. Il COLLATE La clausola è facoltativa, quindi se non la includi, la colonna utilizzerà semplicemente le regole di confronto predefinite del database.

Imposta la confronto

Ecco un esempio di come specificare le regole di confronto durante la creazione di una tabella:

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

Questo crea una tabella chiamata Tasks con due colonne. Impostiamo le regole di confronto della seconda colonna (TaskName ) a French_CI_AI . Se non lo avessimo fatto, avrebbe utilizzato le regole di confronto predefinite del database.

Modifica le regole di confronto

In questo prossimo esempio, cambio le regole di confronto della colonna in Modern_Spanish_CI_AI_WS :

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

Tieni presente che non puoi modificare le regole di confronto di una colonna a cui fa riferimento uno dei seguenti:

  • Una colonna calcolata
  • Un indice
  • Statistiche di distribuzione
  • Un CHECK vincolo
  • Un FOREIGN KEY vincolo

Controlla la raccolta

Se utilizzi SSMS, puoi controllare le regole di confronto di qualsiasi colonna facendo clic con il pulsante destro del mouse su quella colonna nel Browser degli oggetti e selezionando Properties .

In Transact-SQL, ci sono un paio di modi diversi per restituire le regole di confronto di una colonna. Ecco come controllare le regole di confronto di una colonna utilizzando T-SQL.