602SQL-┌plnß dokumentace Index   Tisk  

DatovΘ typy (SQL)

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φ: