English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
以下各节描述了SQL Server支持的数据类型。
Microsoft SQL Server支持的数据类型可以分为三个主要类别:Stringhe,NumerieData/oraTipi di dati.
I tipi di dati stringa sono solitamente utilizzati per memorizzare nomi, indirizzi, descrizioni o qualsiasi valore che contenga lettere e numeri, inclusi dati binari come immagini o file audio.
Tipo di dati | Descrizione |
---|---|
char(n) | Memorizzare stringhe di lunghezza fissa. La lunghezza massima è di 8.000 caratteri. |
varchar(n) | Memorizzare stringhe di lunghezza variabile. La lunghezza massima è di 8.000 caratteri. |
varchar(max) | Memorizzare stringhe di lunghezza variabile. In questo caso, max indica una dimensione massima di archiviazione di 2 GB. |
text | Memorizzare stringhe di lunghezza variabile. La dimensione massima di archiviazione è di 2 GB. |
nchar | Memorizzare stringhe Unicode di lunghezza fissa. La lunghezza massima è di 4.000 caratteri. |
nvarchar | Memorizzare stringhe Unicode di lunghezza variabile. La lunghezza massima è di 4.000 caratteri. |
nvarchar(max) | Memorizzare stringhe Unicode di lunghezza variabile. In questo caso, max indica una dimensione massima di archiviazione di 2 GB. |
ntext | Memorizzare stringhe Unicode di lunghezza variabile. La dimensione massima di archiviazione è di 2 GB. |
binary(n) | Memorizzare dati binari di lunghezza fissa. La dimensione massima di archiviazione è di 8.000 byte. |
varbinary(n) | Memorizzare dati binari di lunghezza variabile. La dimensione massima di archiviazione è di 8.000 byte. |
varbinary(max) | Memorizzare dati binari di lunghezza variabile. In questo caso, max indica una dimensione massima di archiviazione di 2 GB. |
image | Memorizzare dati binari di lunghezza variabile. La dimensione massima di archiviazione è di 8.000 byte. |
I tipi di dati numerici sono solitamente utilizzati per memorizzare dati come prezzi, stipendi, ecc.
Tipo di dati | Descrizione |
---|---|
bit | Consente di memorizzare valori 1, 0 oNULL. |
tinyint | Memorizzare valori interi nell'intervallo da 0 a 255. |
smallint | Memorizzare valori interi nell'intervallo da -32,768 a 32,767. |
int | Memorizzare valori interi nell'intervallo da -2,147,483,648 a 2,147,483,647. |
bigint | Memorizzare valori interi da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. |
decimal(p,s) | Memorizzare precisione e numero di cifre decimali fisse. Il valorevalido è 10 ^38 +1 a 10 |
numeric(p,s) | La funzione del tipo di dati numeric è equivalente a decimal. |
smallmoney | Consente di memorizzare con precisione valori monetari o valori monetari, con un intervallo da -214,748.3648 a 214,748.3647. |
money | Permette di memorizzare valori monetari con precisione o valori monetari, con un intervallo da -922,337,203,685,477.5808 a 922,337,203,685,477.5807. |
float(n) | Memorizza valori a virgola mobile. I valori validi vanno da -1.79E + 308 a -2.23E-308, 0 e da 2.23E-308 a 1.79E + 308. |
real | Memorizza valori a virgola mobile. I valori validi vanno da -3.40E + 38 a -1.18E-38, 0 e da 1.18E-38 a 3.40E + 38. |
Quando si dichiara una colonna decimal o numeric, è possibile specificare la precisione e il numero di cifre decimale, come decimal(p,s) o numeric(p,s), dove p o precisione rappresenta il numero massimo di cifre che possono essere memorizzate, inclusi quelli prima e dopo il punto decimale. La precisione deve essere un valore tra 1 e 38. La precisione predefinita è 18.
EsO scale indica il numero massimo di cifre che possono essere memorizzate dopo il punto decimale. Sottrarre questo numero da p per determinare il numero massimo di cifre prima del punto decimale. Il numero di cifre decimale deve essere un valore tra 0 e p. Il valore predefinito è 0.
Ad esempio, la colonna price decimal(6,2) può memorizzare qualsiasi valore con sei cifre e due decimali, ossia da -9999.99 a 9999.99.
I tipi di dati data e ora sono utilizzati per memorizzare dati come data di nascita, data di assunzione, data e ora di creazione o aggiornamento di un record nella tabella, ecc.
Tipo di dati | Descrizione |
---|---|
date | Memorizza i valori di data, con un intervallo da 0001-01-01 (1 gennaio, gennaio) a 9999-12-31 (31 dicembre 9999). |
time | Memorizza l'ora durante il giorno, con una precisione di 100 nanosecondi. I valori validi vanno da 00:00:00.0000000 a 23:59:59.9999999. |
datetime | Memorizza i valori di data e ora combinati, con una precisione di 3.33 millisecondi. L'intervallo di date validhe per datetime è dal 1753-01-01 (1 gennaio 1753) al 9999-12-31 (31 dicembre 9999). |
datetime2 | datetime2 è un'estensione del tipo di dati datetime, che ha un intervallo di date più ampio. L'intervallo di date validhe per datetime2 va dal 0001-01-01 (1 gennaio 1) al 9999-12-31 (31 dicembre 9999). |
smalldatetime | Memorizza i valori di data e ora combinati con una precisione di 1 minuto. L'intervallo di date validhe per smalldatetime va dal 1900-01-01 (1 gennaio 1900) a 2079-06-06 (6 giugno 2079). |
datetimeoffset | Lo stesso di datetime2 con offset di fuso orario. Il formato predefinito è YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]. L'intervallo valido dell'offset di fuso orario è da -14:00 a +14:00. |
timestamp | In SQL Server, il timestamp è un sinonimo del tipo di dati rowversion, che nel database viene generato automaticamente un numero binario unico. rowversion viene comunemente utilizzato come marchio di versione delle righe della tabella |
Attenzione:Ogni volta che si inserisce o modifica una riga con la colonna rowversion, il valore incrementale rowversion del database viene inserito nella colonna rowversion. Una tabella può avere una sola colonna rowversion.