V SQL Server mají všechny sloupce, proměnné nebo výrazy své definované datové typy. Ty určují, jakého typu jsou hodnoty, které daný sloupec nebo jiný logický objekt může obsahovat. Po každé když se snažíte založit sql tabulku, proměnnou nebo výraz, je striktně požadována definice, která určuje sql datové typy.
Nesprávným zvolením datového typu u objektů se můžete později dostat do velkých problémů. Typickým příkladem je volba datového typu pro peněžité vyjádření např. tržeb, kdy volíme příliš krátký číselný formát protože jednoduše předpokládáme, že firma nebude mít nikdy vyšší tržby než XYZ. Za pár let se ale budeme divit až dostaneme tento Error – Aritmetic overflow error converting numeric to data type numeric
Kromě vlastních datových typů v t-sql, které si můžete v SQL Server definovat pomocí .NET frameworku, systém nabízí systémové datové typy. Těm se bude věnovat tento přehled.
SQL Datové typy – Kategorie
System data types jsou v rámci SQL Server rozděleny do 7 logických kategorií:
Přesná čísla (Exact Numerics)
- BIGINT
- BIT
- DECIMAL
- INT
- MONEY
- NUMERIC
- SMALLINT
- SMALLMONEY
- TINYINT
Přibližná čísla (Approximate Numerics)
- FLOAT
- REAL
Podrobněji článek o číselných datových typech v SQL
Datum a čas (Date and Time)
- DATE
- DATETIME
- DATETIME2
- DATETIMEOFFSET
- SMALLDATETIME
- TIME
Podrobněji článek datumových datových typech
Textové řetězce vč. UNICODE (Character strings + UNICODE)
- CHAR + NCHAR
- VARCHAR + NVARCHAR
- TEXT + NTEXT
Binární textové řetězce (Binary strings)
- BINARY
- VARBINARY
- IMAGE
F) Ostatní datové typy
- CURSOR
- TIMESTAMP
- HIERARCHYID
- UNIQUEIDENTIFIER
- SQL_VARIANT
- XML
- TABLE
Každé kategorii se budu věnovat ve zvláštním článku