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.
- 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
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.