Tipi di dati (Motore di database)
Agli oggetti contenenti dati è associato un tipo di dati che definisce la tipologia dei dati che è possibile includere nell'oggetto, ovvero caratteri, numeri interi o valori binari. Gli oggetti a cui è associato un tipo di dati sono i seguenti:
Colonne di tabelle e viste.
Parametri di stored procedure.
Variabili.
Funzioni Transact-SQL che restituiscono uno o più valori di dati di un tipo specifico.
Stored procedure con codice restituito, che è sempre di tipo integer.
Mediante l'assegnazione di un tipo di dati a un oggetto è possibile definire quattro attributi dell'oggetto:
Il tipo di dati del contenuto dell'oggetto.
La lunghezza, o dimensioni, del valore archiviato.
La precisione del numero (solo per i tipi di dati numerici).
La scala del numero (solo per i tipi di dati numerici).
Per ulteriori informazioni sulla precisione, sulla scala e sulla lunghezza del tipo di dati, vedere Precisione, scala e lunghezza (Transact-SQL).
Per Transact-SQL sono disponibili i tipi di dati di sistema seguenti.
Tutti i dati archiviati in MicrosoftSQL Server devono essere compatibili con uno di questi tipi di dati di base. Il tipo di dati cursor è l'unico tipo di dati che non è possibile assegnare a una colonna di tabella, ma solo a variabili e parametri di stored procedure.
Per numerosi tipi di dati di base sono disponibili sinonimi. Ad esempio, rowversion è un sinonimo di timestamp, mentre national character varying è un sinonimo di nvarchar. Per ulteriori informazioni sul funzionamento dei sinonimi, vedere Sinonimi dei tipi di dati (Transact-SQL).
È inoltre possibile creare due tipi di dati definiti dall'utente:
I tipi di dati alias vengono creati dai tipi di dati di base e consentono di associare un nome a un tipo di dati specifico per descrivere meglio il tipo di valori da includere nell'oggetto. Ciò consente a un programmatore o a un amministratore di database di capire più facilmente quale sia l'utilizzo progettato per ogni oggetto definito con un tipo di dati specifico. Ad esempio:
-- Create a birthday datetype that allows nulls. CREATE TYPE birthday FROM datetime NULL GO -- Create a table using the new data type. CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
Per ulteriori informazioni, vedere Utilizzo dei tipi di dati alias.
I tipi di dati CLR definiti dall'utente sono basati su tipi di dati creati in codice gestito e caricati in un assembly di SQL Server Server. Per ulteriori informazioni, vedere Utilizzo di tipi CLR definiti dall'utente.
Vedere anche