Modifica delle proprietà delle colonne

Ogni colonna di una tabella è caratterizzata da un set di proprietà, ad esempio il nome, il tipo di dati, il supporto di valori Null e la lunghezza dei dati. L'intero set di proprietà di una colonna rappresenta la definizione della colonna in una tabella.

Tipo di dati di una colonna

Il tipo di dati di una colonna esistente può essere modificato a condizione che i dati esistenti nella colonna possano essere convertiti in modo implicito nel nuovo tipo di dati. Per ulteriori informazioni, vedere ALTER TABLE (Transact-SQL).

Lunghezza dei dati di una colonna

Quando si seleziona un tipo di dati, la lunghezza viene definita automaticamente. È possibile aumentare o diminuire il valore della proprietà di lunghezza solo per le colonne con il tipo di dati binary, char, nchar, varbinary, varchar o nvarchar. Per le colonne con altri tipi di dati, la lunghezza deriva dal tipo di dati e non può essere modificata. Se la nuova lunghezza specificata è inferiore alla lunghezza originale della colonna, tutti i valori che superano la nuova lunghezza vengono troncati senza alcun avviso. Non è possibile modificare la lunghezza di una colonna definita con un vincolo di chiave primaria o di chiave esterna.

Precisione di una colonna

La precisione di una colonna numerica è il numero massimo di cifre utilizzate dal tipo di dati selezionato e in genere si riferisce alla lunghezza massima o alla lunghezza definita della colonna.

La precisione viene definita automaticamente per tutti i tipi di dati tranne il tipo decimal e numeric È possibile modificare la precisione di una colonna per i tipi di dati decimal e numeric se si desidera ridefinire il numero massimo di cifre utilizzate da queste colonne. Motore di database di SQL Server impedisce di modificare la precisione di una colonna alla quale non è assegnato uno di questi tipi di dati.

Scala di una colonna

La scala di una colonna numeric o decimal è il numero massimo di cifre a destra del separatore decimale. Quando si seleziona un tipo di dati, il valore predefinito della scala di una colonna è 0. Per le colonne con numeri a virgola mobile approssimati, la scala non è definita perché il numero di cifre a destra del separatore decimale non è fisso. È possibile modificare la scala di una colonna numeric o decimal se si desidera ridefinire il numero di cifre visualizzate a destra del separatore decimale.

Supporto di valori Null in una colonna

Una colonna può essere definita in modo da consentire o non consentire valori Null. Per impostazione predefinita, i valori Null sono consentiti in una colonna. È possibile modificare una colonna esistente in modo da non consentire valori Null solo se nella colonna non è incluso alcun valore Null e non è stato creato alcun indice. Per disabilitare il supporto di valori Null in una colonna contenente valori Null, eseguire la procedura seguente:

  1. Aggiungere una nuova colonna con una definizione DEFAULT che inserisce un valore valido al posto di NULL.

  2. Copiare i dati della colonna precedente (esistente) nella nuova colonna.

  3. Eliminare la colonna precedente.

È possibile modificare una colonna esistente che non consente valori Null in modo da consentire valori Null se non è stato definito un vincolo di chiave primaria nella colonna.

Colonne di tipo sparse e set di colonne

Le colonne di tipo sparse sono colonne che contengono valori Null per la maggior parte delle righe nella tabella. Utilizzare colonne di tipo sparse quando una quantità compresa tra il 20 e il 40 percento dei valori di una colonna sarà Null. Le colonne di tipo sparse sono colonne comuni che dispongono di un'archiviazione ottimizzata per i valori Null. Per ulteriori informazioni, vedere Utilizzo di colonne di tipo sparse.

Nelle tabelle che utilizzano colonne di tipo sparse è possibile definire un set di colonne per restituire tutte le colonne di tipo sparse della tabella. Un set di colonne è una rappresentazione XML non tipizzata che combina tutte le colonne di tipo sparse di una tabella in un output strutturato. Un set di colonne è analogo a una colonna calcolata poiché non è archiviato fisicamente nella tabella. Per ulteriori informazioni, vedere Utilizzo di set di colonne.

Per impostare le proprietà di una colonna

Per visualizzare le proprietà di una colonna

Per rinominare una colonna