Tipuri de date SQL Server cu exemple
Ce este tipul de date?
A Tipul de date รฎn SQL server este definit ca tipul de date pe care orice coloanฤ sau variabilฤ le poate stoca. Este un tip de date pe care un obiect le deศine, cum ar fi รฎntreg, caracter, ศir etc. รn timp ce creaศi orice tabel sau variabilฤ, pe lรขngฤ specificarea numelui, setaศi ศi tipul de date pe care รฎl va stoca.
Cum se utilizeazฤ tipul de date MS SQL
- Trebuie sฤ definiศi รฎn prealabil tipul de date pe care o coloanฤ sau o variabilฤ poate stoca. De asemenea, determinarea tipului de date รฎmpiedicฤ utilizatorul sฤ introducฤ date neaศteptate sau nevalide.
- Puteศi utiliza eficient memoria atribuind un tip de date adecvat variabilei sau coloanei, care va aloca doar cantitatea necesarฤ de memorie de sistem pentru datele coloanei respective.
- MS SQL oferฤ o categorie largฤ de tipuri de date de bazฤ รฎn SQL, รฎn funcศie de nevoile utilizatorului, cum ar fi data, imagini binare etc.
De ce sฤ folosiศi DataTypes?
Sฤ luฤm o mostrฤ de simplu Pagina de รฎnscriere a aplicaศiei site-ului web. Trei cรขmpuri de introducere sunt Prenume, Nume ศi Numฤr de contact.
Aici ar trebui sฤ reศinem cฤ รฎn timp real:
- โPrenumele/Numeleโ va fi intotdeauna alfabetic.
- "A lua legatura" va fi intotdeauna numeric.

- Din poza de mai sus meritฤ definitฤ โPrenumele/Numeleโ ca o caracter ศi "A lua legatura" ca o รฎntreg.
Este evident cฤ รฎn orice aplicaศie, toate cรขmpurile au unul sau altul tip de date. De exemplu, numerice, alfabetice, date ศi multe altele.
De asemenea, reศineศi cฤ tipul de date diferit are cerinศe de memorie diferite. Prin urmare, este mai logic sฤ definiศi coloana sau variabil cu tipul de date pe care รฎl va pฤstra pentru utilizarea eficientฤ a memoriei.
Tip de date disponibil รฎn MS SQL Server
Iatฤ lista de tipuri de date de server MS SQL:
Server MS SQL acceptฤ urmฤtoarele categorii de tip de date:
- Numeric exact
- Numericฤ aproximativฤ
- Data si ora
- ศiruri de caractere
- ศiruri de caractere Unicode
- ศiruri binare
- Alte tipuri de date
Tipuri exacte de date numerice รฎn SQL
Exact numeric are nouฤ tipuri de subtipuri de date รฎn serverul SQL.
Tipuri de date numerice exacte
| Tipul de date | Descriere | Limita inferioara | Limita superioarฤ | Memorie |
|---|---|---|---|---|
| bigint | Stocheazฤ numere รฎntregi รฎn intervalul dat | โ2^63 (โ9,223,372, 036,854,775,808) | 2^63โ1 (โ9,223,372, 036,854,775,807) | Bytes 8 |
| int | Stocheazฤ numere รฎntregi รฎn intervalul dat | โ2^31 (โ2,147, 483,648) | 2^31โ1 (โ2,147, 483,647) | Bytes 4 |
| smallint | Stocheazฤ numere รฎntregi รฎn intervalul dat | โ2^15 (โ32,767) | 2^15 (โ32,768) | Bytes 2 |
| tinyint | Stocheazฤ numere รฎntregi รฎn intervalul dat | 0 | 255 | 1 octet |
| pic | Poate lua valori 0, 1 sau NULL. | 0 | 1 | Coloanฤ de 1 octet/8 biศi |
| zecimal | Folosit pentru scarฤ ศi numere fixe de precizie | โ10^38+1 | 10^381โ1 | 5 pรขnฤ la 17 octeศi |
| numeric | Folosit pentru scarฤ ศi numere fixe de precizie | โ10^38+1 | 10^381โ1 | 5 pรขnฤ la 17 octeศi |
| bani | Date monetare folosite | โ922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | Bytes 8 |
| bani mici | Date monetare folosite | -214,478.3648 | +214,478.3647 | Bytes 4 |
Tipuri de date numerice exacte รฎn SQL Server cu exemple:
Solicitare:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
producศie
2
Sintaxฤ
Decimalฤ (P,S)
Aici,
- P este precizia
- S este scara
Solicitare:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
producศie
2.31
Tipuri de date numerice aproximative รฎn SQL
SQL Categoria numericฤ aproximativฤ include virgulฤ mobilฤ ศi valori reale. Aceste tipuri de date รฎn SQL sunt utilizate รฎn principal รฎn calcule ศtiinศifice.
Tip de date numerice aproximative
| Tipul de date | Descriere | Limita inferioara | Limita superioarฤ | Memorie | Precizie |
|---|---|---|---|---|---|
| plutitor(n) | Folosit pentru un numฤr de precizie flotant | โ1.79E+308 | 1.79E + 308 | Depinde de valoarea lui n | 7 Digit |
| real | Folosit pentru un numฤr de precizie flotant | โ3.40E+38 | 3.40E + 38 | Bytes 4 | 15 Digit |
Syntax: FLOAT [(n)]
Aici, n este numฤrul de biศi care sunt utilizaศi pentru a stoca mantisa pluti numฤr รฎn notaศie ศtiinศificฤ. รn mod implicit, valoarea lui n este 53.
Cรขnd utilizatorul defineศte un tip de date precum float, n ar trebui sฤ fie o valoare รฎntre 1 ศi 53.
SQL Server trateazฤ n ca una dintre cele douฤ valori posibile. Dacฤ 1<=n<=24, n este tratat ca 24. Dacฤ 25<=n<=53, n este tratat ca 53.
Exemplu de interogare:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
producศie
22.1234
Data ศi ora Tipuri de date รฎn SQL
Stocheazฤ date de tipul Data ศi ora.
Data ศi ora Tip de date
| Tipul de date | Descriere | Dimensiunea stocฤrii | Acurateศe | Gama Inferioarฤ | Gama superioarฤ |
|---|---|---|---|---|---|
| DateTime | Folosit pentru a specifica o datฤ ศi o orฤ de la 1 ianuarie 1753 pรขnฤ la 31 decembrie 9999. Are o precizie de 3.33 milisecunde. | Bytes 8 | Rotunjit la incremente de .000, .003, .007 | 1753-01-01 | 9999-12-31 |
| smalldatetime | Folosit pentru a specifica o datฤ ศi o orฤ de la 1 ianuarie 0001 pรขnฤ la 31 decembrie 9999. Are o precizie de 100 nanosecunde | 4 octeศi, fix | 1 minute | 1900-01-01 | 2079-06-06 |
| data | Folosit pentru a stoca numai data de la 1 ianuarie 0001 pรขnฤ la 31 decembrie 9999 | 3 octeศi, fix | 1 zi | 0001-01-01 | 9999-12-31 |
| timp | Folosit pentru stocarea numai a valorilor de timp cu o precizie de 100 de nanosecunde. | Bytes 5 | 100 nanosecunde | 00:00:00.0000000 | 23:59:59.9999999 |
| datetimeoffset | Similar cu datatime, dar are o compensare a fusului orar | Bytes 10 | 100 nanosecunde | 0001-01-01 | 9999-12-31 |
| datatime2 | Folosit pentru a specifica o datฤ ศi o orฤ de la 1 ianuarie 0001 pรขnฤ la 31 decembrie 9999 | Bytes 6 | 100 nanosecunde | 0001-01-01 | 9999-12-31 |
Exemplu de interogare:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
producศie
โ2030-01-01โ
Tipuri de date ศiruri de caractere รฎn SQL
Aceastฤ categorie este legatฤ de un tip de caracter. Acesta permite utilizatorului sฤ defineascฤ tipul de date al caracterului care poate fi de lungime fixฤ โโศi variabilฤ. Are patru tipuri de tipuri de date. Mai jos sunt tipurile de date ale serverului SQL ศirurile de caractere cu exemple.
Tipuri de date ศiruri de caractere
| Tipul de date | Descriere | Limita inferioara | Limita superioarฤ | Memorie |
|---|---|---|---|---|
| car de rฤzboi | Este un ศir de caractere cu o lฤศime fixฤ. Stocheazฤ maximum 8,000 de caractere. | 0 tancuri | 8000 tancuri | n octeศi |
| varchar | Acesta este un ศir de caractere cu lฤศime variabilฤ | 0 tancuri | 8000 tancuri | n octeศi + 2 octeศi |
| varchar (max) | Acesta este un ศir de caractere cu o lฤศime variabilฤ. Stocheazฤ maximum 1,073,741,824 de caractere. | 0 tancuri | 2^31 caractere | n octeศi + 2 octeศi |
| a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the communityโs sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana ศapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. | Acesta este un ศir de caractere cu o lฤศime variabilฤ. Stocheazฤ maximum 2 GB de date text. | 0 tancuri | 2,147,483,647 tancuri | n octeศi + 4 octeศi |
Exemplu de interogare:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
producศie
Acesta este tipul de date caracter
Tipuri de date Unicode ศiruri de caractere รฎn SQL
Aceastฤ categorie stocheazฤ รฎntreaga gamฤ de caractere Unicode care utilizeazฤ codificarea caracterelor UTF-16.
Tipuri de date ศiruri de caractere Unicode
| Tipul de date | Descriere | Limita inferioara | Limita superioarฤ | Memorie |
|---|---|---|---|---|
| nchar | Este un ศir Unicode de lฤศime fixฤ | 0 tancuri | 4000 tancuri | de 2 ori n octeศi |
| nvarchar | Este un ศir unicode de lฤศime variabilฤ | 0 tancuri | 4000 tancuri | De 2 ori n octeศi + 2 octeศi |
| ntext | Este un ศir unicode de lฤศime variabilฤ | 0 tancuri | 1,073,741,823 caractere | de 2 ori lungimea ศirului |
Exemplu de interogare:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
producศie
Acesta este tipul de date nCharacter
Tipuri de date ศiruri binare รฎn SQL
Aceastฤ categorie conศine un ศir binar de lungime fixฤ โโศi variabilฤ.
Tipuri de date ศiruri binare
| Tipul de date | Descriere | Limita inferioara | Limita superioarฤ | Memorie |
|---|---|---|---|---|
| binar | Este un ศir binar cu lฤศime fixฤ. Stocheazฤ maximum 8,000 de octeศi. | Bytes 0 | Bytes 8000 | n octeศi |
| varbinar | Acesta este un ศir binar de lฤศime variabilฤ. Stocheazฤ maximum 8,000 de octeศi | Bytes 0 | Bytes 8000 | Lungimea realฤ a datelor introduse + 2 octeศi |
| imagine | Acesta este un ศir binar de lฤศime variabilฤ. Stocheazฤ maxim 2 GB. | Bytes 0 | Bytes 2,147,483,647 |
Exemplu de interogare:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
producศie
0x000C
Alte tipuri de date รฎn SQL
Acestea sunt alte tipuri diferite de date SQL server cu descrierea de mai jos -
| Tipul de date | Descriere |
|---|---|
| cursor | Ieศirea sa este o coloanฤ de sp_cursor_list ศi sp_describe_cursor. Returneazฤ numele variabilei cursorului. |
| Versiune pe rรขnd | Aceastฤ versiune ศtampilฤ rรขnduri de tabel. |
| Ierarhiid | Acest tip de date reprezintฤ o poziศie รฎn ierarhie |
| Identificator unic | Conversie dintr-o expresie de caracter. |
| Varianta_SQL | Stocheazฤ valorile tipurilor de date acceptate de server SQL. |
| XML | Stocheazฤ date XML รฎntr-o coloanฤ. |
| Tipul geometriei spaศiale | Reprezintฤ datele รฎntr-un sistem de coordonate plat. |
| Tipul Geografiei Spaศiale | Reprezintฤ date รฎn sistemul de coordonate rotund-pฤmรขnt. |
| tabel | Stocheazฤ un set de rezultate pentru procesare ulterioarฤ. |
Fapte interesante!
- tip de date CHAR este mai rapid decรขt tipul de date SQL VARCHAR รฎn timpul recuperฤrii datelor.
Rezumat
- Fiecare coloanฤ din tabele se defineศte cu tipul sฤu de date รฎn timpul creฤrii tabelului.
- Existฤ ศase categorii principale ศi o altฤ categorie diverse. Alte diverse au nouฤ subcategorii de SQL Server tipuri de date ศi dimensiuni disponibile.
