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)

Guida in linea e informazioni

Assistenza su SQL Server 2005