|
![]() | Lexikßlnφ elementy | ![]() | Jazyk SQL | DatabßzovΘ tabulky | ![]() |
Datov² typ se v SQL uvßdφ v definici sloupce tabulky v p°φkazu CREATE TABLE, v deklaraci prom∞nnΘ, v popisu parametr∙ rutiny nebo hodnoty funkce. Typ urΦuje, jak²ch hodnot m∙₧e prom∞nnß, sloupec atd. nab²vat.
typ ::= °et∞zec_znak∙ [jazyk_a_t°φd∞nφ] | binßrnφ_objekt | °et∞zec_bit∙ | p°esn²_Φφseln²_typ | p°ibli₧n²_Φφseln²_typ | BOOLEAN | DATE | TIME | TIMESTAMP | specifick²_typ_602SQL
°et∞zec_znak∙ ::= CHAR [( dΘlka )] | CHAR VARYING ( dΘlka ) | VARCHAR ( dΘlka ) | NCHAR [( dΘlka )] | NCHAR VARYING ( dΘlka ) | CLOB [( dΘlka )] | NCLOB [( dΘlka )]
binßrnφ_objekt ::= BLOB [( dΘlka )]
°et∞zec_bit∙ ::= BINARY ( dΘlka ) | VARBINARY ( dΘlka ) | BIT [( dΘlka )] | BIT VARYING ( dΘlka )
p°esn²_Φφseln²_typ ::= INT | SMALLINT | TINYINT | BIGINT | DEC [( p°esnost [, decim ] )] | NUMERIC [( p°esnost [, decim ] )]
p°ibli₧n²_Φφseln²_typ ::= REAL | DOUBLE PRECISION | FLOAT [( p°esnost )]
specifick²_typ_602SQL ::= AUTOR | AUTHOR | DATIM | HISTORY | SIGNATURE | POINTER | BIPTR
Ve v²Üe uveden²ch pravidlech lze beze zm∞ny v²znamu mφsto INT psßt INTEGER, mφsto DEC psßt DECIMAL, mφsto CHAR psßt CHARACTER, mφsto NCHAR psßt NATIONAL CHAR nebo NATIONAL CHARACTER, mφsto CLOB psßt CHAR LARGE OBJECT nebo CHARACTER LARGE OBJECT a mφsto BLOB psßt BINARY LARGE OBJECT.
Kv∙li kompatibilit∞ s ODBC lze mφsto CLOB psßt takΘ LONG VARCHAR a mφsto BLOB psßt LONG VARBINARY, mφsto BIT VARYING psßt VARBINARY.
602SQL, stejn∞ jako ka₧d² systΘm °φzenφ bßze dat, disponuje vlastnφ mno₧inou öfyzick²chö datov²ch typ∙ pou₧φvan²ch p°i skuteΦnΘm ulo₧enφ dat. Tyto fyzickΘ typy jsou p°φmo p°φstupnΘ z v²vojov²ch nßstroj∙ 602SQL a v jejφm vnit°nφm programovacφm jazyce.
Jazyk SQL specifikuje mno₧inu öideßlnφchö typ∙, kterΘ se budou pou₧φvat v p°φkazech SQL a kterΘ by m∞ly b²t na serveru reprezentovßny fyzick²mi typy. Nφ₧e uvedenß tabulka definuje vzßjemnou souvislost obou mno₧in typ∙.
Popis typu v SQL | fyzick² typ 602SQL |
CHAR, NCHAR | Char |
CHAR(n), CHAR VARYING(n), VARCHAR(n), pro n<4090 | String dΘlky n bajt∙ |
NCHAR(n), NCHAR VARYING(n), pro n<4090 | String v Unicode dΘlky n znak∙ |
CLOB, CLOB(n) | Text |
NCLOB, NCLOB(n) | Text v Unicode |
BLOB, BLOB(n) | Nospec |
VARBINARY(n) | Raster |
BINARY(n) pro n<4090 | Binary dΘlky n bajt∙ |
BIT, BIT(1), BOOLEAN | Boolean |
BIT(n), BIT VARYING(n) pro 1<n<=8*4090 | Binary dΘlky (n-1) / 8 + 1 bajt∙ |
INT | Integer (4-bajtovΘ celΘ Φφslo) |
SMALLINT | Short (2-bajtovΘ celΘ Φφslo) |
TINYINT | Tinyint (1-bajtovΘ celΘ Φφslo) |
BIGINT | Bigint (8-bajtovΘ celΘ Φφslo) |
DEC(n, d), NUMERIC(n, d) pro n <= 2 | 1-bajtovΘ Φφslo |
DEC(n, d), NUMERIC(n, d) pro 2 < n <= 4 | 2-bajtovΘ Φφslo |
DEC(n, d), NUMERIC(n, d) pro 4 < n <= 9 | 4-bajtovΘ Φφslo |
DEC(n, d), NUMERIC(n, d) pro 10<=n<=14 a d=2 | Money (6-bajtovΘ Φφslo se 2 desetinn²mi mφsty) |
DEC(n, d), NUMERIC(n, d) pro 14 < n nebo d<>2 | 8-bajtovΘ Φφslo |
REAL, DOUBLE PRECISION, FLOAT, FLOAT(n) | Real |
DATE | Date |
TIME | Time |
TIMESTAMP | Timestamp |
AUTOR, AUTHOR | Autorizace |
DATIM | Datumovka |
HISTORY | Historie |
SIGNATURE | Signature, digitßlnφ podpis |
POINTER | Ukazatel |
BIPTR | Obousm∞rn² ukazatel |
Odchylky od Intermediate level sm∞rem k Entry level
Odchylky od Intermediate level sm∞rem k Full level nebo k SQL 3
Implementacφ definovanΘ vlastnosti SQL ve 602SQL
Seznam subsekcφ:
![]() | Lexikßlnφ elementy | ![]() | Jazyk SQL | DatabßzovΘ tabulky | ![]() |