Tento článek obsahuje rychlý odkaz na datové typy dodávané systémem, které jsou k dispozici v SQL Server 2017, spolu s některými základními informacemi, jako je maximální délka v bajtech, přesnost, měřítko a zda je datový typ s možnou hodnotou Null či nikoli (1
znamená, že je možné použít hodnotu null, 0
znamená, že nelze použít hodnotu null).
Přesná čísla
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
bigint | 8 | 19 | 0 | 1 |
bit | 1 | 1 | 0 | 1 |
desítkové | 17 | 38 | 38 | 1 |
int | 4 | 10 | 0 | 1 |
peníze | 8 | 19 | 4 | 1 |
numerické | 17 | 38 | 38 | 1 |
smallint | 2 | 5 | 0 | 1 |
malé peníze | 4 | 10 | 4 | 1 |
tinyint | 1 | 3 | 0 | 1 |
Přibližná čísla
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
plovoucí | 8 | 53 | 0 | 1 |
skutečný | 4 | 24 | 0 | 1 |
Datum a čas
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
datum | 3 | 10 | 0 | 1 |
datetime2 | 8 | 27 | 7 | 1 |
datetime | 8 | 23 | 3 | 1 |
datetimeoffset | 10 | 34 | 7 | 1 |
smalldatetime | 4 | 16 | 0 | 1 |
čas | 5 | 16 | 7 | 1 |
Řetězce znaků
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
char | 8000 | 0 | 0 | 1 |
text | 16 | 0 | 0 | 1 |
varchar | 8000 | 0 | 0 | 1 |
Řetězce znaků Unicode
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
nchar | 8000 | 0 | 0 | 1 |
ntext | 16 | 0 | 0 | 1 |
nvarchar | 8000 | 0 | 0 | 1 |
Binární řetězce
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
binární | 8000 | 0 | 0 | 1 |
obrázek | 16 | 0 | 0 | 1 |
varbinární | 8000 | 0 | 0 | 1 |
Další typy dat
Jméno | Maximální délka | Přesnost | Měřítko | S možností null? |
---|---|---|---|---|
hierarchyid | 892 | 0 | 0 | 1 |
sql_variant | 8016 | 0 | 0 | 1 |
geometrie | -1 | 0 | 0 | 1 |
geografie | -1 | 0 | 0 | 1 |
časové razítko* | 8 | 0 | 0 | 0 |
jedinečný identifikátor | 16 | 0 | 0 | 1 |
xml | -1 | 0 | 0 | 1 |
název systému | 256 | 0 | 0 | 0 |
* Časové razítko datový typ je synonymem pro rowversion datový typ. Další informace naleznete níže.
Typy „kurzor“, „tabulka“ a „verze řádku“
Získal jsem informace ve výše uvedených tabulkách prostřednictvím sys.types
zobrazení katalogu systému. Kromě výše uvedených typů je v dokumentaci k datovým typům společnosti Microsoft uveden také kurzor a tabulka typy a také rowversion místo časového razítka .
Typ „časového razítka“
Společnost Microsoft doporučuje, aby časové razítko syntaxe je zastaralá. Nyní doporučujeme používat rowversion místo časového razítka kdekoli je to možné v našich prohlášeních DDL.
Mezitím však můžete zjistit, že sloupce jsou stále definovány jako časové razítko i když výslovně zadáte rowversion při jejich vytváření (pomocí Transact-SQL). Společnost Microsoft nicméně doporučuje, že se jedná o správnou syntaxi, která se má používat.
Všimněte si také, že časové razítko v T-SQL/SQL Server se liší od časového razítka datový typ definovaný v normě ISO.
Zdá se, že důvodem zamítnutí je zmatek způsobený jeho názvem. Microsoft to uznal v roce 2007 a doporučil, že se to pokusí řešit zpětně kompatibilním způsobem v budoucích verzích.
Zkontrolujte svou vlastní databázi
Informace o typu dat pro své vlastní databáze můžete získat pomocí sys.types
systémový pohled. Vysvětlení a příklady najdete v tématu Jak vrátit seznam datových typů na serveru SQL. Spuštění tohoto zobrazení také vrátí všechny aliasy a uživatelem definované typy, které jsou v databázi.