SQL Server adattípusok példákkal

Mi az adattípus?

A Adattípus Az SQL szerverben az az adattípus, amelyet bármely oszlop vagy változó tárolhat. Ez egy olyan adattípus, amelyet egy objektum tartalmaz, például egész számot, karaktert, karakterláncot stb. Bármilyen tábla vagy változó létrehozásakor a név megadása mellett beállíthatja a tárolni kívánt adattípust is.

Az MS SQL adattípus használata

  • Előre meg kell határoznia, hogy egy oszlop vagy változó milyen típusú adatokat tárolhat. Az adattípus meghatározása azt is korlátozza, hogy a felhasználó váratlan vagy érvénytelen adatokat adjon meg.
  • Hatékonyan kihasználhatja a memóriát, ha megfelelő adattípust rendel egy változóhoz vagy oszlophoz, amely csak a szükséges mennyiségű rendszermemóriát foglalja le az adott oszlop adataihoz.
  • Az MS SQL az alapvető adattípusok széles kategóriáját kínálja az SQL-ben a felhasználó igényei szerint, például dátum, bináris képek stb.

Miért használjunk adattípusokat?

Vegyünk egy mintát az egyszerűből Feliratkozási oldal Három beviteli mező: Keresztnév, Vezetéknév és Kapcsolattartási szám.

Itt meg kell jegyeznünk, hogy valós időben:

  • "Elso utolsó név" mindig lesz ábécé.
  • "Kapcsolatba lépni" mindig lesz numerikus.
SQL Server adattípusok
Példa adattípusokra MS SQL-ben
  • A fenti kép alapján érdemes meghatározni "Elso utolsó név" mint karakter és a "Kapcsolatba lépni" mint egy egész szám.

Nyilvánvaló, hogy minden alkalmazásban minden mezőben van egy vagy másik típusú adat. Pl. numerikus, ábécé, dátum és még sok más.

Azt is vegye figyelembe, hogy a különböző adattípusoknak eltérő memóriaigényük van. Ezért célszerűbb az oszlop ill változó azzal az adattípussal, amelyet tárolni fog a memória hatékony kihasználása érdekében.

Az MS SQL Serverben elérhető adattípus

Íme az MS SQL szerver adattípusok listája:

MS SQL szerver a következő adattípus-kategóriákat támogatja:

  • Pontos numerikus
  • Hozzávetőleges numerikus
  • Dátum és idő
  • Karakterláncok
  • Unicode karakterláncok
  • Bináris karakterláncok
  • Egyéb adattípusok
Az MS SQL Serverben elérhető adattípus

MS SQL adattípusok

Pontos numerikus adattípusok az SQL-ben

Az Exact numeric kilencféle aladattípust tartalmaz az SQL szerverben.

Pontos numerikus adattípusok

Adattípus Leírás Alsó határ Felső határ Memory design
bigint Egész számokat tárol a megadott tartományban −2^63 (−9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^63−1 (−9,223,372, 036,854,775,807) 8 bytes
int Egész számokat tárol a megadott tartományban −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^31−1 (−2,147, 483,647) 4 bytes
smallint Egész számokat tárol a megadott tartományban −2^15 (−32,767 XNUMX) 2^15 (-32,768 XNUMX) 2 bytes
aprócska Egész számokat tárol a megadott tartományban 0 255 1 bájt
bit 0, 1 vagy NULL értéket vehet fel. 0 1 1 bájt/8 bites oszlop
decimális Skála és fix pontosságú számokhoz használatos −10^38+1 10^381−1 5-17 bájt
numerikus Skála és fix pontosságú számokhoz használatos −10^38+1 10^381−1 5-17 bájt
pénz Felhasznált monetáris adatok -922,337, 203, 685,477.5808 +922,337 203, 685,477.5807, XNUMX XNUMX XNUMX 8 bytes
kis pénz Felhasznált monetáris adatok -214,478.3648 +214,478.3647 4 bytes

Pontos numerikus adattípusok SQL szerver példákkal:

Keresés:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

teljesítmény

2

Szintaxis

Tizedes (P, S)

Itt,

  • P a pontosság
  • S a skála

Keresés:

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

teljesítmény

2.31

Hozzávetőleges numerikus adattípusok az SQL-ben

SQL A hozzávetőleges numerikus kategória a lebegőpontos és a valós értékeket tartalmazza. Ezeket az SQL adattípusokat leginkább tudományos számításokhoz használják.

Hozzávetőleges numerikus adattípus

Adattípus Leírás Alsó határ Felső határ Memory design Pontosság
úszó(n) Lebegő precíziós számokhoz használják −1.79E+308 1.79E + 308 n értékétől függ 7 Digit
igazi Lebegő precíziós számokhoz használják −3.40E+38 3.40E + 38 4 bytes 15 Digit
Syntax:  FLOAT [(n)]

Itt, n a mantisszának tárolására használt bitek száma úszik szám tudományos jelöléssel. Alapértelmezés szerint n értéke 53.

Amikor a felhasználó meghatároz egy adattípust, például a float, n 1 és 53 közötti értéknek kell lennie.

SQL Server kezeli n mint a két lehetséges érték egyike. Ha 1<=n<=24, akkor n-t 24-nek kell tekinteni. Ha 25<=n<=53, n-t 53-nak kell tekinteni.

Példa lekérdezés:

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

teljesítmény

22.1234

Dátum és idő adattípusok SQL-ben

Dátum és idő típusú adatokat tárol.

Dátum és idő adattípus

Adattípus Leírás Tárolási méret Pontosság Alsó tartomány Felső tartomány
Dátum idő 1. január 1753. és 31. december 9999. közötti dátum és idő megadására szolgál. Pontossága 3.33 ezredmásodperc. 8 bytes 000, 003, 007 lépésekre kerekítve 1753-01-01 9999-12-31
kis randevú 1. január 0001. és 31. december 9999. közötti dátum és idő megadására szolgál. Pontossága 100 nanoszekundum 4 bájt, fix 1 perc 1900-01-01 2079-06-06
adat Csak dátum tárolására használt 1. január 0001. és 31. december 9999. között 3 bájt, fix 1 nap 0001-01-01 9999-12-31
idő Csak időértékek tárolására szolgál 100 nanoszekundumos pontossággal. 5 bytes 100 XNUMX XNUMX nanoszekundum 00:00:00.0000000 23:59:59.9999999
datetime offset Hasonló az adatidőhöz, de van időzóna-eltolása 10 bytes 100 XNUMX XNUMX nanoszekundum 0001-01-01 9999-12-31
dátumidő2 1. január 0001. és 31. december 9999. közötti dátum és idő megadására szolgál 6 bytes 100 XNUMX XNUMX nanoszekundum 0001-01-01 9999-12-31

Példa lekérdezés:

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

teljesítmény

'2030-01-01'

Karakterláncok adattípusai az SQL-ben

Ez a kategória egy karaktertípushoz kapcsolódik. Lehetővé teszi a felhasználó számára, hogy meghatározza a karakter adattípusát, amely lehet fix és változó hosszúságú. Négyféle adattípusa van. Az alábbiakban a karakterlánc SQL szerver adattípusai láthatók példákkal.

Karakterláncok adattípusai

Adattípus Leírás Alsó határ Felső határ Memory design
faszén Ez egy fix szélességű karakterlánc. Maximum 8,000 karaktert tárol. 0 karakter 8000 karakter n bájt
varchar Ez egy változó szélességű karakterlánc 0 karakter 8000 karakter n bájt + 2 bájt
varchar (max.) Ez egy változó szélességű karakterlánc. Maximum 1,073,741,824 XNUMX XNUMX XNUMX karaktert tárol. 0 karakter 2^31 karakter n bájt + 2 bájt
szöveg Ez egy változó szélességű karakterlánc. Maximum 2 GB szöveges adatot tárol. 0 karakter 2,147,483,647 karakter n bájt + 4 bájt

Példa lekérdezés:

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

teljesítmény

Ez a karakter adattípus

Unicode karakterláncok adattípusai az SQL-ben

Ez a kategória az UTF-16 karakterkódolást használó Unicode karakterek teljes tartományát tárolja.

Unicode karakterlánc adattípusok

Adattípus Leírás Alsó határ Felső határ Memory design
nchar Ez egy rögzített szélességű Unicode karakterlánc 0 karakter 4000 karakter 2-szer n bájt
nvarchar Ez egy változó szélességű unicode karakterlánc 0 karakter 4000 karakter 2-szer n bájt + 2 bájt
ntext Ez egy változó szélességű unicode karakterlánc 0 karakter 1,073,741,823 karakter 2-szer a húrhossz

Példa lekérdezés:

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

teljesítmény

Ez az nCharacter adattípus

Bináris karakterlánc adattípusok SQL-ben

Ez a kategória egy rögzített és változó hosszúságú bináris karakterláncot tartalmaz.

Bináris karakterlánc adattípusok

Adattípus Leírás Alsó határ Felső határ Memory design
kétkomponensű Ez egy fix szélességű bináris karakterlánc. Maximum 8,000 bájtot tárol. 0 bytes 8000 bytes n bájt
varbináris Ez egy változó szélességű bináris karakterlánc. Maximum 8,000 bájtot tárol 0 bytes 8000 bytes A bevitt adatok tényleges hossza + 2 bájt
kép Ez egy változó szélességű bináris karakterlánc. Maximum 2 GB-ot tárol. 0 bytes 2,147,483,647 bytes

Példa lekérdezés:

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

teljesítmény

0x000C

Egyéb adattípusok az SQL-ben

Ezek más különböző SQL szerver adattípusok az alábbi leírással:

Adattípus Leírás
Kurzor A kimenete egy oszlop sp_cursor_list és a sp_describe_cursor.
A kurzorváltozó nevét adja vissza.
Soros változat Ez a verzió bélyegzi a táblázat sorait.
Hierarchid Ez az adattípus egy pozíciót jelent a hierarchiában
Egyedi azonosító Konvertálás karakterkifejezésből.
Sql_variant Az SQL szerver által támogatott adattípusok értékeit tárolja.
XML Az XML adatokat egy oszlopban tárolja.
Térgeometria típusa Az adatokat lapos koordináta-rendszerben ábrázolja.
Térföldrajz típus A Föld körüli koordinátarendszerben ábrázolja az adatokat.
táblázat Eredménykészletet tárol későbbi feldolgozás céljából.

Érdekes tények!

  • CHAR adattípus gyorsabb, mint az SQL VARCHAR adattípus az adatok lekérése közben.

Összegzésként

  • A táblázatok minden oszlopa adattípusával definiál a táblázat létrehozása során.
  • Hat fő kategória és egy másik vegyes kategória van. Az egyéb egyéb termékeknek kilenc alkategóriája van SQL szerver elérhető adattípusok és méretek.