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.
bigint |
binary |
bit |
char |
cursor |
datetime |
decimal |
float |
image |
int |
money |
nchar |
ntext |
numeric |
nvarchar |
real |
smalldatetime |
smallint |
smallmoney |
sql_variant |
table |
text |
timestamp |
tinyint |
varbinary |
varchar |
uniqueidentifier |
xml |
|
|
Tutti i dati archiviati in Microsoft SQL Server 2005 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. Per ulteriori informazioni, vedere Utilizzo di tipi CLR definiti dall'utente.
Vedere anche
Concetti
Utilizzo di dati binari
Utilizzo di dati char e varchar
Utilizzo di dati relativi a data e ora
Utilizzo dei dati integer
Utilizzo dei tipi di dati decimal, float e real
Utilizzo dei dati di tipo valuta
Utilizzo di tipi di dati per valori di grandi dimensioni
Utilizzo dei dati di tipo text e image
Utilizzo del tipo di dati uniqueidentifier
Utilizzo di dati speciali
Utilizzo dei dati Unicode
Conversione del tipo di dati (Motore di database)
Altre risorse
CREATE TABLE (Transact-SQL)
CREATE TYPE (Transact-SQL)
Tipi di dati (Transact-SQL)
Progettazione di tabelle
sp_addtype (Transact-SQL)