Ricerca…


introduzione

In questa sezione vengono descritti i tipi di dati che possono essere utilizzati da SQL Server, inclusi l'intervallo di dati, la lunghezza e le limitazioni (se presenti).

Numeri esatti

Esistono due classi base di tipi di dati numerici esatti: Integer , Fixed Precision e Scale .

Tipi di dati interi

  • po
  • tinyint
  • smallint
  • int
  • bigint

Gli interi sono valori numerici che non contengono mai una parte frazionaria e utilizzano sempre una quantità fissa di spazio di archiviazione. L'intervallo e le dimensioni di archiviazione dei tipi di dati interi sono mostrati in questa tabella:

Tipo di dati Gamma Conservazione
po 0 o 1 1 bit **
tinyint Da 0 a 255 1 byte
smallint -2 ^ 15 (-32.768) a 2 ^ 15-1 (32.767) 2 byte
int -2 ^ 31 (-2.147.483.648) a 2 ^ 31-1 (2.147.483.647) 4 byte
bigint -2 ^ 63 (-9.223.372.036.854.775.808) a 2 ^ 63-1 (9.223.372.036.854.775.807) 8 byte

Risolti i tipi di dati di precisione e scala

  • numerico
  • decimale
  • smallmoney
  • i soldi

Questi tipi di dati sono utili per rappresentare esattamente i numeri. Finché i valori possono rientrare nell'intervallo dei valori memorizzabili nel tipo di dati, il valore non avrà problemi di arrotondamento. Questo è utile per qualsiasi calcolo finanziario, in cui gli errori di arrotondamento si tradurranno in follia clinica per i contabili.

Si noti che decimale e numerico sono sinonimi per lo stesso tipo di dati.

Tipo di dati Gamma Conservazione
Decimale [(p [, s])] o Numerico [(p [, s])] -10 ^ 38 + 1 a 10 ^ 38 - 1 Vedi tabella di precisione

Quando si definisce un tipo di dati decimale o numerico , potrebbe essere necessario specificare Precisione [p] e Scala [s].

La precisione è il numero di cifre che possono essere memorizzate. Ad esempio, se è necessario memorizzare valori compresi tra 1 e 999, è necessaria una precisione di 3 (per contenere le tre cifre su 100). Se non si specifica una precisione, la precisione predefinita è 18.

Scala è il numero di cifre dopo il punto decimale. Se è necessario memorizzare un numero compreso tra 0,00 e 999,99, è necessario specificare una precisione di 5 (cinque cifre) e una scala di 2 (due cifre dopo il punto decimale). È necessario specificare una precisione per specificare una scala. La scala predefinita è zero.

La precisione di un tipo di dati decimale o numerico definisce il numero di byte necessari per memorizzare il valore, come mostrato di seguito:

Tabella di precisione

Precisione Byte di archiviazione
1 - 9 5
10-19 9
20-28 13
29-38 17

Tipi di dati fissi monetari

Questi tipi di dati sono destinati specificamente alla contabilità e ad altri dati monetari. Questi tipi hanno una scala fissa di 4 - vedrai sempre quattro cifre dopo la cifra decimale. Per la maggior parte dei sistemi che funzionano con la maggior parte delle valute, sarà sufficiente utilizzare un valore numerico con una Scala di 2. Si noti che nessuna informazione sul tipo di valuta rappresentata viene memorizzata con il valore.

Tipo di dati Gamma Conservazione
i soldi -922,337,203,685,477,5808 a 922,337,203,685,477,5807 8 byte
smallmoney Da -214.748.3648 a 214.748.3647 4 byte

Numeri approssimativi

  • float [( n )]
  • vero

Questi tipi di dati vengono utilizzati per memorizzare numeri in virgola mobile. Poiché questi tipi sono destinati a contenere solo valori numerici approssimativi, questi non dovrebbero essere utilizzati nei casi in cui qualsiasi errore di arrotondamento non è accettabile. Tuttavia, se è necessario gestire numeri molto grandi o numeri con un numero indeterminato di cifre dopo la cifra decimale, queste potrebbero essere la soluzione migliore.

Tipo di dati Gamma Taglia
galleggiante -1.79 E + 308 a -2.23E-308, 0 e 2.23E-308 a 1.79E + 308 dipende da n nella tabella sottostante
vero -3.40E + 38 a -1.18E - 38, 0 e 1.18E - 38 a 3.40E + 38 4 byte

n tabella dei valori per i numeri float . Se non viene specificato alcun valore nella dichiarazione del float, verrà utilizzato il valore predefinito 53. Si noti che float (24) è l'equivalente di un valore reale .

n valore Precisione Taglia
1-24 7 cifre 4 byte
25-53 15 cifre 8 byte

Data e ora

Questi tipi sono in tutte le versioni di SQL Server

  • appuntamento
  • smalldatetime

Questi tipi sono disponibili in tutte le versioni di SQL Server dopo SQL Server 2012

  • Data
  • datetimeoffset
  • datetime2
  • tempo

Stringhe di caratteri

  • carbonizzare
  • varchar
  • testo

Stringhe di caratteri Unicode

  • nchar
  • nvarchar
  • ntext

Stringhe binarie

  • binario
  • varbinary
  • Immagine

Altri tipi di dati

  • cursore
  • timestamp
  • hierarchyid
  • identificativo unico
  • sql_variant
  • xml
  • tavolo
  • Tipi spaziali


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow