Tipi di dati di SQL Server con esempi

Cos'è il tipo di dati?

A Tipo di dati in SQL Server è definito come il tipo di dati che qualsiasi colonna o variabile può archiviare. È un tipo di dati che un oggetto contiene come numeri interi, caratteri, stringhe, ecc. Durante la creazione di qualsiasi tabella o variabile, oltre a specificare il nome, imposti anche il tipo di dati che memorizzerà.

Come utilizzare il tipo di dati MS SQL

  • È necessario definire in anticipo il tipo di dati che una colonna o una variabile può memorizzare. La determinazione del tipo di dati impedisce inoltre all'utente di inserire dati imprevisti o non validi.
  • È possibile utilizzare in modo efficiente la memoria assegnando un tipo di dati appropriato alla variabile o alla colonna che allocherà solo la quantità richiesta di memoria di sistema per i dati della rispettiva colonna.
  • MS SQL offre un'ampia categoria di tipi di dati di base in SQL in base alle esigenze dell'utente come data, immagini binarie, ecc.

Perché utilizzare i tipi di dati?

Prendiamo un esempio di semplice Pagina di iscrizione dell'applicazione del sito web. Tre campi di input sono Nome, Cognome e Numero di contatto.

Qui dobbiamo notare che in tempo reale:

  • “Nome/Cognome” sarà sempre alfabetico.
  • "Contatto" sarà sempre numerico.
Tipi di dati di SQL Server
Esempio di tipi di dati in MS SQL
  • Dall'immagine sopra vale la pena definirlo “Nome/Cognome” come carattere che a "Contatto" come numero intero.

È evidente che in qualsiasi applicazione tutti i campi hanno l'uno o l'altro tipo di dati. Ad esempio, numerico, alfabetico, data e molti altri.

Inoltre, tieni presente che tipi di dati diversi hanno requisiti di memoria diversi. Pertanto, ha più senso definire la colonna o variabile con il tipo di dati che manterrà per un uso efficiente della memoria.

Tipo di dati disponibile in MS SQL Server

Ecco l'elenco dei tipi di dati del server MS SQL:

MS SQL Server supporta le seguenti categorie di tipo di dati:

  • Numerico esatto
  • Numerico approssimativo
  • Data e ora
  • Stringhe di caratteri
  • Stringhe di caratteri Unicode
  • Stringhe binarie
  • Altri tipi di dati
Tipo di dati disponibile in MS SQL Server

Tipi di dati MS SQL

Tipi di dati numerici esatti in SQL

Il numero esatto ha nove tipi di sottotipi di dati nel server SQL.

Tipi di dati numerici esatti

Tipo di dati Descrizione Limite inferiore Limite superiore Memorie
grande Memorizza numeri interi nell'intervallo indicato −2^63 (−9,223,372, 036,854,775,808) 2^63−1 (−9,223,372, 036,854,775,807) 8 byte
int Memorizza numeri interi nell'intervallo indicato −2^31 (−2,147, 483,648) 2^31−1 (−2,147, 483,647) 4 byte
piccolo Memorizza numeri interi nell'intervallo indicato −2^15 (−32,767) 2 ^ 15 (-32,768) 2 byte
minuscolo Memorizza numeri interi nell'intervallo indicato 0 255 1 byte
bit Può assumere valori 0, 1 o NULL. 0 1 Colonna da 1 byte/8 bit
decimale Utilizzato per numeri in scala e precisione fissa −10^38+1 10^381−1 Da 5 a 17 byte
numerico Utilizzato per numeri in scala e precisione fissa −10^38+1 10^381−1 Da 5 a 17 byte
soldi Dati monetari utilizzati -922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 8 byte
smallmoney Dati monetari utilizzati -214,478.3648 + 214,478.3647 4 byte

Tipi di dati numerici esatti in Server SQL con esempi:

Query:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

Uscita

2

Sintassi

Decimale (P,S)

Qui,

  • P è precisione
  • S è la scala

Query:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

Uscita

2.31

Tipi di dati numerici approssimativi in ​​SQL

SQL La categoria Numerica approssimativa include valori in virgola mobile e reali. Questi tipi di dati in SQL vengono utilizzati principalmente nei calcoli scientifici.

Tipo di dati numerici approssimativi

Tipo di dati Descrizione Limite inferiore Limite superiore Memorie Precisione
galleggiante(n) Utilizzato per un numero con precisione mobile −1.79E+308 1.79 308 + Dipende dal valore di n 7 Digit
di rose Utilizzato per un numero con precisione mobile −3.40E+38 3.40 38 + 4 byte 15 Digit
Syntax:  FLOAT [(n)]

Qui, n è il numero di bit utilizzati per memorizzare la mantissa di galleggiante numero in notazione scientifica. Per impostazione predefinita, il valore di n è 53.

Quando l'utente definisce un tipo di dati come float, n dovrebbe essere un valore compreso tra 1 e 53.

Tratta di SQL Server n come uno dei due possibili valori. Se 1<=n<=24, n viene trattato come 24. Se 25<=n<=53, n viene trattato come 53.

Interrogazione di esempio:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

Uscita

22.1234

Tipi di dati di data e ora in SQL

Memorizza dati di tipo Data e ora.

Tipo di dati data e ora

Tipo di dati Descrizione Dimensioni di archiviazione Precisione Gamma inferiore Gamma superiore
Appuntamento Utilizzato per specificare una data e un'ora dal 1 gennaio 1753 al 31 dicembre 9999. Ha una precisione di 3.33 millisecondi. 8 byte Arrotondato a incrementi di .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Utilizzato per specificare una data e un'ora dal 1 gennaio 0001 al 31 dicembre 9999. Ha una precisione di 100 nanosecondi 4 byte, fissi minuti 1 1900-01-01 2079-06-06
quando Utilizzato per memorizzare solo la data dal 1 gennaio 0001 al 31 dicembre 9999 3 byte, fissi 1 giorno 0001-01-01 9999-12-31
tempo Utilizzato per memorizzare solo valori di solo tempo con una precisione di 100 nanosecondi. 5 byte 100 nanosecondi 00:00:00.0000000 23:59:59.9999999
datatimeoffset Simile a datatime ma con una differenza di fuso orario 10 byte 100 nanosecondi 0001-01-01 9999-12-31
data e ora2 Utilizzato per specificare una data e un'ora dal 1 gennaio 0001 al 31 dicembre 9999 6 byte 100 nanosecondi 0001-01-01 9999-12-31

Domanda di esempio:

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

Uscita

'2030-01-01'

Tipi di dati delle stringhe di caratteri in SQL

Questa categoria è correlata a un tipo di carattere. Consente all'utente di definire il tipo di dati del carattere che può essere di lunghezza fissa e variabile. Ha quattro tipi di tipi di dati. Di seguito sono riportati i tipi di dati del server SQL con stringhe di caratteri con esempi.

Tipi di dati delle stringhe di caratteri

Tipo di dati Descrizione Limite inferiore Limite superiore Memorie
serbatoio È una stringa di caratteri con larghezza fissa. Memorizza un massimo di 8,000 caratteri. 0 caratteri 8000 caratteri n byte
varchar Questa è una stringa di caratteri con larghezza variabile 0 caratteri 8000 caratteri n byte + 2 byte
varchar (massimo) Questa è una stringa di caratteri con larghezza variabile. Memorizza un massimo di 1,073,741,824 caratteri. 0 caratteri 2^31 caratteri n byte + 2 byte
testo Questa è una stringa di caratteri con larghezza variabile. Memorizza un massimo di 2 GB di dati di testo. 0 caratteri 2,147,483,647 caratteri n byte + 4 byte

Domanda di esempio:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

Uscita

Questo è il tipo di dati carattere

Tipi di dati delle stringhe di caratteri Unicode in SQL

Questa categoria memorizza l'intera gamma di caratteri Unicode che utilizza la codifica dei caratteri UTF-16.

Tipi di dati di stringhe di caratteri Unicode

Tipo di dati Descrizione Limite inferiore Limite superiore Memorie
nchar È una stringa Unicode di larghezza fissa 0 caratteri 4000 caratteri 2 volte n byte
nvarchar È una stringa Unicode di larghezza variabile 0 caratteri 4000 caratteri 2 volte n byte + 2 byte
ntext È una stringa Unicode di larghezza variabile 0 caratteri 1,073,741,823 caratteri 2 volte la lunghezza della corda

Interrogazione di esempio:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

Uscita

Questo è il tipo di dati nCharacter

Tipi di dati di stringa binaria in SQL

Questa categoria contiene una stringa binaria di lunghezza fissa e variabile.

Tipi di dati di stringa binaria

Tipo di dati Descrizione Limite inferiore Limite superiore Memorie
binario È una stringa binaria a larghezza fissa. Memorizza un massimo di 8,000 byte. 0 byte 8000 byte n byte
varbinary Questa è una stringa binaria di larghezza variabile. Memorizza un massimo di 8,000 byte 0 byte 8000 byte La lunghezza effettiva dei dati immessi + 2 byte
Immagine Questa è una stringa binaria di larghezza variabile. Memorizza un massimo di 2 GB. 0 byte 2,147,483,647 byte

Interrogazione di esempio:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

Uscita

0x000C

Altri tipi di dati in SQL

Questi sono altri diversi tipi di dati del server SQL con la descrizione seguente:

Tipo di dati Descrizione
Cursore Il suo output è una colonna di sp_cursor_list che a sp_describe_cursor.
Restituisce il nome della variabile cursore.
Versione in fila La versione stampa le righe della tabella.
Gerarchia Questo tipo di dati rappresenta una posizione nella gerarchia
Identificativo unico Conversione da un'espressione di carattere.
SQL_variante Memorizza i valori dei tipi di dati supportati dal server SQL.
XML Memorizza i dati XML in una colonna.
Tipo di geometria spaziale Rappresenta i dati in un sistema di coordinate piatte.
Tipo di geografia spaziale Rappresenta i dati nel sistema di coordinate della Terra Rotonda.
tavolo Memorizza un set di risultati per un'elaborazione successiva.

Fatti interessanti!

  • Tipo di dati CHAR è più veloce del tipo di dati SQL VARCHAR durante il recupero dei dati.

Sommario

  • Ogni colonna nelle tabelle definisce il suo tipo di dati durante la creazione della tabella.
  • Ci sono sei categorie principali e un'altra categoria miscellanea. Le altre miscellanee hanno nove sottocategorie di Server SQL tipi e dimensioni di dati disponibili.