Tipi di dati (Transact-SQL)

In SQL Server a ogni colonna, variabile locale, espressione e parametro è associato un tipo di dati. Un tipo di dati è un attributo che specifica il tipo di dati che l'oggetto può contenere, ovvero numeri interi, caratteri, valute, date e ore, stringhe binarie e così via.

In SQL Server è disponibile un set di tipi di dati di sistema che definisce tutti i tipi di dati utilizzabili con SQL Server. È inoltre possibile definire tipi di dati personalizzati in Transact-SQL o Microsoft .NET Framework. I tipi di dati alias sono basati sui tipi di dati di sistema. Per ulteriori informazioni sui tipi di dati alias, vedere CREATE TYPE (Transact-SQL). I tipi definiti dall'utente derivano le loro caratteristiche dai metodi e dagli operatori di una classe che viene creata utilizzando uno dei linguaggi di programmazione supportati da .NET Framework.

Quando due espressioni con tipi di dati, regole di confronto, precisione, scala o lunghezza diversi vengono combinati mediante un operatore, le caratteristiche del risultato vengono determinate come descritto di seguito.

  • Il tipo di dati del risultato viene determinato applicando le regole sulla precedenza dei tipi di dati ai tipi di dati delle espressioni di input. Per ulteriori informazioni, vedere Precedenza dei tipi di dati (Transact-SQL).

  • Le regole di confronto del risultato sono determinate dalle regole di precedenza delle regole di confronto quando il tipo di dati del risultato è char, varchar, text, nchar, nvarchar o ntext. Per ulteriori informazioni, vedere Precedenza delle regole di confronto (Transact-SQL).

  • La precisione, la scala e la lunghezza del risultato dipendono dalla precisione, dalla scala e dalla lunghezza delle espressioni di input. Per ulteriori informazioni, vedere Precisione, scala e lunghezza (Transact-SQL).

In SQL Server sono disponibili sinonimi dei tipi di dati per compatibilità con ISO. Per ulteriori informazioni, vedere Sinonimi dei tipi di dati (Transact-SQL).

Categorie dei tipi di dati

I tipi di dati di SQL Server sono organizzati nelle categorie seguenti:

Dati numerici esatti

Stringhe di testo Unicode

Numerici approssimati

Stringhe binarie

Date e Time

Altri tipi di dati

Stringhe di caratteri

 

In SQL Server, a seconda delle caratteristiche relative all'archiviazione, alcuni tipi di dati appartengono ai gruppi seguenti:

  • Tipi di dati per valori di grandi dimensioni: varchar(max), nvarchar(max) e varbinary(max)

  • Tipi di dati per oggetti di grandi dimensioni: text, ntext, image, varchar(max), nvarchar(max), varbinary(max) e xml

    [!NOTA]

    sp_help restituisce -1 per la lunghezza dei tipi di dati per valori di grandi dimensioni e xml.

Numerici esatti

bigint

numeric

bit

smallint

decimal

smallmoney

int

tinyint

money

 

Numerici approssimati

float

real

Date e Time

date

datetimeoffset

datetime2

smalldatetime

datetime

time

Stringhe di caratteri

char

varchar

text

 

Stringhe di caratteri Unicode

nchar

nvarchar

ntext

 

Stringhe binarie

binary

varbinary

image

 

Altri tipi di dati

cursor

timestamp

hierarchyid

uniqueidentifier

sql_variant

xml

table

Tipi spaziali

Vedere anche

Riferimento

CREATE PROCEDURE (Transact-SQL)

CREATE TABLE (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

EXECUTE (Transact-SQL)

Espressioni (Transact-SQL)

Funzioni predefinite (Transact-SQL)

LIKE (Transact-SQL)

sp_droptype (Transact-SQL)

sp_help (Transact-SQL)

sp_rename (Transact-SQL)