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.
SQL Server datové typy
Příklad datových typů v MS SQL
  • 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
Datový typ dostupný v MS SQL Server

Datové typy MS SQL

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.