Datov² typ se uvßdφ v definici sloupce v tabulce, 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∙
| binßrnφ_objekt |
°et∞zec_bit∙
|
p°esn²_Φφseln²_typ | p°ibli₧n²_Φφseln²_typ | BOOLEAN | DATE | TIME | TIMESTAMP |
specifick²_typ_WinBase602
°et∞zec_znak∙
::= CHAR [( dΘlka )] | CHAR VARYING ( dΘlka ) | VARCHAR ( dΘlka ) | NCHAR [( dΘlka )] | NCHAR VARYING ( dΘlka ) | CLOB [( 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_WinBase602 ::= 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.
WinBase602, 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∙ WinBase602 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 WinBase602 |
CHAR, NCHAR | Char |
CHAR(n), CHAR VARYING(n), VARCHAR(n), NCHAR(n), NCHAR VARYING(n) pro n<256 | String, CSString, CSIString dΘlky n bajt∙ |
CLOB, CLOB(n) nebo
CHAR(n), CHAR VARYING(n), VARCHAR(n), NCHAR(n), NCHAR VARYING(n) pro n>=256 |
Text |
BLOB, BLOB(n) | Nospec |
VARBINARY(n), BINARY(n) pro n>=256 | Raster |
BINARY(n) pro n<256 | Binary dΘlky n bajt∙ |
BIT, BIT(1), BOOLEAN | Boolean |
BIT(n), BIT VARYING(n) pro 1<n<=2048 | Binary dΘlky (n-1) / 8 + 1 bajt∙ |
BIT(n), BIT VARYING(n) pro n>2048 | Raster |
INT | Integer |
SMALLINT | Short |
TINYINT | Tinyint |
BIGINT | Bigint |
DEC(n, 0), NUMERIC(n, 0) pro n <= 2 | Tinyint |
DEC(n, 0), NUMERIC(n, 0) pro 2 < n <= 4 | Short |
DEC(n, 0), NUMERIC(n, 0) pro 4 < n <= 9 | Integer |
DEC(n, 0), NUMERIC(n, 0) pro 9 < n | Bigint |
DEC(n, d), NUMERIC(n, d) pro 10<=n<=14 a d=2 | Money |
DEC(n, d), NUMERIC(n, d) jinak | Numeric (pouze na serveru) |
REAL, DOUBLE PRECISION, FLOAT, FLOAT(n) | Real |
DATE | Date |
TIME | Time |
TIMESTAMP | Timestamp |
AUTOR, AUTHOR | Autorizace |
DATIM | Datumovka |
HISTORY | Historie |
SIGNATURE | 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 WinBase602