SQL Server datové typy s příklady
Co je datový typ?
A Datový typ v SQL server je definován jako typ dat, která může ukládat libovolný sloupec nebo proměnná. Jedná se o typ dat, která objekt uchovává, jako je celé číslo, znak, řetězec atd. Při vytváření jakékoli tabulky nebo proměnné kromě zadání názvu nastavujete také Typ dat, která bude ukládat.
Jak používat datový typ MS SQL
- Je třeba předem definovat typ dat, které může sloupec nebo proměnná ukládat. Určení typu dat také omezuje uživatele ve vkládání neočekávaných nebo neplatných dat.
- Paměť můžete efektivně využít přiřazením vhodného datového typu proměnné nebo sloupci, který alokuje pouze požadované množství systémové paměti pro data příslušného sloupce.
- MS SQL nabízí širokou kategorii základních datových typů v SQL podle potřeb uživatele, jako je datum, binární obrázky atd.
Proč používat DataTypes?
Vezměme si jednoduchý příklad Stránka registrace webové aplikace. Tři vstupní pole jsou Jméno, Příjmení a Kontaktní číslo.
Zde bychom měli poznamenat, že v reálném čase:
- "První příjmení" vždy bude abecední.
- "Kontakt" vždy bude numeric.
- Z výše uvedeného obrázku stojí za to definovat "První příjmení" jako znak si "Kontakt" as celé číslo.
Je zřejmé, že v každé aplikaci mají všechna pole jeden nebo druhý typ dat. Např. číselné, abecední, datumové a mnoho dalších.
Všimněte si také, že různé datové typy mají různé požadavky na paměť. Proto má větší smysl definovat sloupec resp proměnlivý s datovým typem, který bude držet pro efektivní využití paměti.
Datový typ dostupný v MS SQL Server
Zde je seznam datových typů serveru MS SQL:
MS SQL server podpora následujících kategorií datových typů:
- Přesné číselné
- Přibližné číselné
- Datum a čas
- Řetězce znaků
- Znakové řetězce Unicode
- Binární řetězce
- Jiné datové typy
Přesné číselné datové typy v SQL
Přesné číslo má na serveru SQL devět typů dílčích datových typů.
Přesné číselné datové typy
Datový typ | Description | Spodní limit | Horní mez | Memory |
---|---|---|---|---|
bigint | Ukládá celá čísla v daném rozsahu | −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 bytů |
int | Ukládá celá čísla v daném rozsahu | −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) | 2^31−1 (−2,147, 483,647) | 4 bytů |
smallint | Ukládá celá čísla v daném rozsahu | −2^15 (−32,767 XNUMX) | 2^15 (-32,768 XNUMX) | 2 bytů |
tinyint | Ukládá celá čísla v daném rozsahu | 0 | 255 | 1 bajtů |
bit | Může nabývat hodnot 0, 1 nebo NULL. | 0 | 1 | 1 bajt/8bitový sloupec |
desetinný | Používá se pro měřítko a čísla s pevnou přesností | −10^38+1 | 10^381−1 | 5 až 17 bajtů |
numeric | Používá se pro měřítko a čísla s pevnou přesností | −10^38+1 | 10^381−1 | 5 až 17 bajtů |
peníze | Použitá peněžní data | -922,337, 203, 685,477.5808 | +922,337 203 685,477.5807 XNUMX XNUMX XNUMX | 8 bytů |
malé peníze | Použitá peněžní data | -214,478.3648 | +214,478.3647 | 4 bytů |
Přesné číselné datové typy v sqlserver s příklady:
Dotaz:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
Výstup
2
Syntax
Desetinné (P,S)
Zde,
- P je přesnost
- S je měřítko
Dotaz:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
Výstup
2.31
Přibližné číselné datové typy v SQL
SQL Přibližná číselná kategorie zahrnuje hodnoty s pohyblivou řádovou čárkou a reálné hodnoty. Tyto datové typy v SQL se většinou používají ve vědeckých výpočtech.
Přibližný číselný typ dat
Datový typ | Description | Spodní limit | Horní mez | Memory | Přesnost |
---|---|---|---|---|---|
plovoucí (n) | Používá se pro číslo s plovoucí přesností | −1.79E+308 | 1.79E + 308 | Závisí na hodnotě n | 7 Digit |
skutečný | Používá se pro číslo s plovoucí přesností | −3.40E+38 | 3.40E + 38 | 4 bytů | 15 Digit |
Syntax: FLOAT [(n)]
Zde, n je počet bitů, které se používají k uložení mantisy vznášet se číslo ve vědeckém zápisu. Ve výchozím nastavení je hodnota n 53.
Když uživatel definuje datový typ jako float, n by měla být hodnota mezi 1 a 53.
SQL Server zachází n jako jednu ze dvou možných hodnot. Pokud 1<=n<=24, n se považuje za 24. Pokud 25<=n<=53, n se považuje za 53.
Příklad dotazu:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
Výstup
22.1234
Datové typy data a času v SQL
Ukládá data typu Datum a čas.
Datum a čas Typ dat
Datový typ | Description | Velikost úložiště | Přesnost | Dolní rozsah | Horní rozsah |
---|---|---|---|---|---|
Čas schůzky | Používá se k určení data a času od 1. ledna 1753 do 31. prosince 9999. Má přesnost 3.33 milisekundy. | 8 bytů | Zaokrouhleno na přírůstky 000, 003, 007 | 1753-01-01 | 9999-12-31 |
malé datum a čas | Používá se pro specifikaci data a času od 1. ledna 0001 do 31. prosince 9999. Má přesnost 100 nanosekund | 4 bajty, opraveno | 1 minut | 1900-01-01 | 2079-06-06 |
datum | Používá se pouze k uložení data od 1. ledna 0001 do 31. prosince 9999 | 3 bajty, opraveno | 1 den | 0001-01-01 | 9999-12-31 |
čas | Používá se pro ukládání pouze časových hodnot s přesností 100 nanosekund. | 5 bytů | 100 nanosekund | 00:00:00.0000000 | 23:59:59.9999999 |
datum a čas offset | Podobné jako datatime, ale má posun časového pásma | 10 bytů | 100 nanosekund | 0001-01-01 | 9999-12-31 |
datum a čas2 | Používá se pro zadání data a času od 1. ledna 0001 do 31. prosince 9999 | 6 bytů | 100 nanosekund | 0001-01-01 | 9999-12-31 |
Příklad dotazu:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
Výstup
'2030-01-01'
Řetězce znaků Datové typy v SQL
Tato kategorie souvisí s typem postavy. Umožňuje uživateli definovat datový typ znaku, který může mít pevnou a proměnnou délku. Má čtyři druhy datových typů. Níže jsou uvedeny datové typy SQL serveru s příklady znakového řetězce.
Datové typy řetězců znaků
Datový typ | Description | Spodní limit | Horní mez | Memory |
---|---|---|---|---|
spálit | Je to řetězec znaků s pevnou šířkou. Ukládá maximálně 8,000 XNUMX znaků. | 0 znaků | 8000 znaků | n bajtů |
varchar | Toto je znakový řetězec s proměnnou šířkou | 0 znaků | 8000 znaků | n bajtů + 2 bajty |
varchar (max.) | Toto je znakový řetězec s proměnnou šířkou. Ukládá maximálně 1,073,741,824 XNUMX XNUMX XNUMX znaků. | 0 znaků | 2^31 znaků | n bajtů + 2 bajty |
(souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě. | Toto je znakový řetězec s proměnnou šířkou. Ukládá maximálně 2 GB textových dat. | 0 znaků | 2,147,483,647 znaků | n bajtů + 4 bajty |
Příklad dotazu:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
Výstup
Toto je datový typ znaku
Znakové řetězce Unicode Datové typy v SQL
Tato kategorie ukládá celý rozsah znaků Unicode, které používají kódování znaků UTF-16.
Typy dat znakového řetězce Unicode
Datový typ | Description | Spodní limit | Horní mez | Memory |
---|---|---|---|---|
nchar | Je to řetězec Unicode s pevnou šířkou | 0 znaků | 4000 znaků | 2 krát n bajtů |
nvarchar | Je to řetězec unicode s proměnnou šířkou | 0 znaků | 4000 znaků | 2 krát n bajtů + 2 bajty |
ntext | Je to řetězec unicode s proměnnou šířkou | 0 znaků | 1,073,741,823 znaků | 2násobek délky struny |
Příklad dotazu:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
Výstup
Toto je datový typ nCharacter
Datové typy binárních řetězců v SQL
Tato kategorie obsahuje binární řetězec pevné a proměnné délky.
Datové typy binárních řetězců
Datový typ | Description | Spodní limit | Horní mez | Memory |
---|---|---|---|---|
dvojitý | Je to binární řetězec s pevnou šířkou. Ukládá maximálně 8,000 XNUMX bajtů. | 0 bytů | 8000 bytů | n bajtů |
varbinární | Toto je binární řetězec proměnné šířky. Ukládá maximálně 8,000 XNUMX bajtů | 0 bytů | 8000 bytů | Skutečná délka zadávaných dat + 2 bajty |
obraz | Toto je binární řetězec proměnné šířky. Ukládá maximálně 2 GB. | 0 bytů | 2,147,483,647 bytů |
Příklad dotazu:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
Výstup
0x000C
Další datové typy v SQL
Toto jsou další různé datové typy serveru SQL s popisem níže-
Datový typ | Description |
---|---|
Kurzor | Jeho výstupem je sloupec sp_cursor_list si sp_describe_cursor. Vrací název proměnné kurzoru. |
Řádková verze | Verze razí řádky tabulky. |
Hierarchoid | Tento datový typ představuje pozici v hierarchii |
Unikátní identifikátor | Převod ze znakového výrazu. |
Sql_variant | Ukládá hodnoty datových typů podporovaných SQL serverem. |
XML | Ukládá XML data do sloupce. |
Typ prostorové geometrie | Představuje data v plochém souřadnicovém systému. |
Typ prostorové geografie | Představuje data v souřadnicovém systému kulaté Země. |
tabulka | Ukládá sadu výsledků pro pozdější zpracování. |
Zajímavosti!
- Datový typ CHAR je při načítání dat rychlejší než datový typ SQL VARCHAR.
Shrnutí
- Každý sloupec v tabulkách se při vytváření tabulky definuje svým datovým typem.
- Existuje šest hlavních kategorií a jedna další kategorie různé. Ostatní různé mají devět podkategorií sqlserver dostupné datové typy a velikosti.