Mi az az adattípus?
Az adattípus az az adattípus , amelyet bármely oszlop vagy változó az MS SQL Serverben tárolhat.
Bármely tábla vagy változó létrehozása során a név megadása mellett beállítja a tárolni kívánt adattípust is.
Az MS SQL adattípusának 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 szintén korlátozza a felhasználót a váratlan vagy érvénytelen adatok megadásában.
- Hatékonyan kihasználhatja a memóriát, ha megfelelő adattípust rendel hozzá a változóhoz vagy oszlophoz, amely csak az előírt mennyiségű rendszermemóriát osztja ki az adott oszlop adataihoz.
- Az MS SQL az adattípus széles kategóriáját kínálja a felhasználó igényeinek megfelelően. Mint a dátum, a bináris képek stb.
Ebben az oktatóanyagban megtudhatja:
- Mi az az adattípus?
- Az MS SQL adattípusának használata
- Miért érdemes használni a DataTypes-t?
- Pontos numerikus
- Hozzávetőleges numerikus
- Dátum és idő
- Karakterláncok
- Unicode karakterláncok
- Bináris húr
- Egyéb adattípusok
Miért érdemes használni a DataTypes-t?
Vegyünk egy mintát a webhelyalkalmazás egyszerű Feliratkozási oldaláról . Három beviteli mező a Keresztnév, Vezetéknév és Kapcsolattartó száma.
Itt kell megjegyeznünk, hogy valós időben:
- A "keresztnév" mindig ábécé lesz .
- A "kapcsolat" mindig numerikus lesz .
- A fenti kép azt érdemes definiálni „First / Last Name” , mint egy karaktert , és „ Kapcsolat” , mint egy egész .
Nyilvánvaló, hogy bármely alkalmazásban az összes mező rendelkezik egyik vagy másik típusú adattal. Pl. Numerikus, ábécés, dátum és még sok más.
Vegye figyelembe azt is, hogy a különböző adattípusok memóriaigénye eltérő. Ezért ésszerűbb meghatározni az oszlopot vagy a változót azzal az adattípussal, amely a memória hatékony felhasználása érdekében megmarad.
MS SQL-ben elérhető adattípus
Az MS SQL Server az alábbi adattípus-kategóriákat támogatja:
- Pontos numerikus
- Hozzávetőleges numerikus
- Dátum és idő
- Karakterláncok
- Unicode karakterláncok
- Bináris húrok
- Egyéb adattípusok
Pontos numerikus
A pontos numerikusnak kilenc aladattípusa van. Pontos numerikus adattípusok
Adattípus | Leírás | Alsó határ | Felső határ | memória |
---|---|---|---|---|
bigint | Egész számokat tárol a megadott tartományban | −2 63 (−9,223,372, 036,854,775,808) | 2 63−1 (−9,223,372, 036,854,775,807) | 8 bájt |
int | Egész számokat tárol a megadott tartományban | −2 31 (−2,147, 483,648) | 2 31-1 (−2,147, 483,647) | 4 bájt |
smallint | Egész számokat tárol a megadott tartományban | −2 15 (−32 767) | 2 15 (−32 768) | 2 bájt |
tinyint | Egész számokat tárol a megadott tartományban | 0 | 255 | 1 bájt |
bit | 0, 1 vagy NULL értéket vehet igénybe. | 0 | 1 | 1 bájt / 8 bites oszlop |
decimális | Skála és rögzített pontosságú számokhoz használják | −10 38 + 1 | 10 381−1 | 5–17 bájt |
numerikus | Skála és rögzített pontosságú számokhoz használják | −10 38 + 1 | 10 381−1 | 5–17 bájt |
pénz | Használt monetáris adatok | −922,337, 203, 685,477,5808 | +922,337, 203, 685,477,5807 | 8 bájt |
aprópénz | Használt monetáris adatok | −214,478.3648 | +214,478.3647 | 4 bájt |
Példák:
Lekérdezés:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Kimenet: 2
Szintaxis: Tizedes (P, S)
Itt,
- P a pontosság
- S skála
Lekérdezés:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Kimenet: 2.31
Hozzávetőleges numerikus
A hozzávetőleges numerikus kategória lebegőpontos és valós értékeket tartalmaz. Leginkább tudományos számításokban használják őket. Hozzávetőleges numerikus adattípus
Adattípus | Leírás | Alsó határ | Felső határ | memória | Pontosság |
---|---|---|---|---|---|
úszó (n) | Lebegő precíziós számhoz használják | -1,79E + 308 | 1,79E + 308 | N értékétől függ | 7 számjegy |
igazi | Lebegő precíziós számhoz használják | −3,40E + 38 | 3,40E + 38 | 4 bájt | 15 számjegy |
Syntax: FLOAT [(n)]
Itt n az azoknak a biteknek a száma, amelyeket az úszószám mantissájának tudományos jelölésekben való tárolására használnak . Alapértelmezés szerint n értéke 53.
Amikor a felhasználó olyan adattípust határoz meg, mint a float, akkor n értéke 1 és 53 között legyen.
Az SQL Server az n- t a két lehetséges érték egyikeként kezeli . Ha 1 <= n <= 24, n-t 24-ként kezeljük. Ha 25 <= n <= 53, n-t 53-ként kezeljük.
Példa lekérdezés:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Kimenet: 22.1234
Dátum és idő
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ő | 1753. január 1-jétől 9999. december 31-ig tartó dátum és idő megadására szolgál. Pontossága 3,33 milliszekundum. | 8 bájt | .000, .003, .007 lépésekre kerekítve | 1753-01-01 | 9999-12-31 |
smalldatetime | Dátum és idő megadására szolgál, 0001 január 1-től 9999. december 31-ig. 100 nanoszekundum pontosságú | 4 bájt, fix | 1 perc | 1900-01-01 | 2079-06-06 |
dátum | Csak tárolásra használt dátum 0001 január 1-je és 9999 december 31-e között | 3 bájt, fix | 1 nap | 0001-01-01 | 9999-12-31 |
idő | Csak az időértékek 100 nanomásodperces pontosságú tárolására szolgál. | 5 bájt | 100 nanoszekundum | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Hasonló az adatidőhöz, de időzónája eltolt | 10 bájt | 100 nanoszekundum | 0001-01-01 | 9999-12-31 |
datetime2 | Dátum és idő megadására szolgál, 0001 január 1-je és 9999 december 31-e között | 6 bájt | 100 nanoszekundum | 0001-01-01 | 9999-12-31 |
Példa lekérdezés:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Kimenet: '2030-01-01'
Karakterláncok
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. Karakterlánc adattípusok
Adattípus | Leírás | Alsó határ | Felső határ | memória |
---|---|---|---|---|
char | Ez egy rögzített szélességű karakterlánc. Legfeljebb 8000 karakter tárolható. | 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. Legfeljebb 1 073 741 824 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. Legfeljebb 2 GB szöveges adatot tárol. | 0 karakter | 2 147 483 647 márka | n bájt + 4 bájt |
Példa lekérdezés:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Kimenet: Ez a Karakter Adattípus
Unicode karakterláncok
Ez a kategória az Unicode karakterek teljes körét tárolja, amely az UTF-16 karakterkódolást használja. Unicode karakter karakterlánc adattípusok
Adattípus | Leírás | Alsó határ | Felső határ | memória |
---|---|---|---|---|
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 | A húr hosszának 2-szerese |
Példa lekérdezés:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Kimenet: Ez az nCharacter Datatype
Bináris húr
Ez a kategória 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 | memória |
---|---|---|---|---|
bináris | Ez egy rögzített szélességű bináris karakterlánc. Legfeljebb 8000 bájtot tárol. | 0 bájt | 8000 bájt | n bájt |
változatos | Ez egy változó szélességű bináris karakterlánc. Legfeljebb 8000 bájtot tárol | 0 bájt | 8000 bájt | A bevitt adatok tényleges hossza + 2 bájt |
kép | Ez egy változó szélességű bináris karakterlánc. Legfeljebb 2 GB tárolható. | 0 bájt | 2 147 483 647 bájt |
Példa lekérdezés:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Kimenet: 0x000C
Egyéb adattípusok
Ezek más különböző adattípusok, az alábbi leírás-
Adattípus | Leírás |
---|---|
Kurzor | Kimenete egy sp_cursor_list és sp_describe_cursor oszlop . Visszaadja a kurzor változó nevét. |
Soros változat | Ez a verzió bélyegzőket sorozatokra. |
Hierarchyid | Ez az adattípus egy pozíciót képvisel 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 | XML adatokat tárol egy oszlopban. |
Térgeometria típusa | Lapos koordinátarendszerben ábrázolja az adatokat. |
Térföldrajzi típus | Az adatokat a körföld koordinátarendszerben ábrázolja. |
asztal | Az eredménykészletet későbbi feldolgozás céljából tárolja. |
Érdekes tények!
- A CHAR adattípus gyorsabb, mint a VARCHAR, az adatok lekérése közben.
Összegzés:
- A táblák minden oszlopa meghatározza az adattípusát a tábla létrehozása során.
- Hat fő kategória és egy másik különféle kategória létezik. Egyéb egyéb adatoknak kilenc adattípus-alkategória áll rendelkezésre.