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