Overview of SQL datataypes based on SQL 2003 (as it seems most extensive). "o" in column implies it exists also in other SQL versions, is anticipated by ADQL through its list reserved words. The columns JDBC and VOTable give the mapping to those two type systems. A "[(P[,S])]" after a datatypeps indicates that a precision (P) and possibly a scale(S) can be provided.

For info on database support look at JVO presentation during Victoria 2006 interop. Also various JDBC mapping tables such as this.

SQL 2003 Sort SQL 92 Sort SQL 99 Sort ADQL 2.0 Sort JDBC type4 Sort VOTable 1.2 (beta) Sort
CHARACTER [(P)] o o o CHAR char
CHAR [(P)] o o o CHAR char
CHARACTER VARYING[(P)] o o o VARCHAR char
CHAR VARYING [(P)] o o o VARCHAR char
VARCHAR [(P)] o o o VARCHAR char
CHARACTER LARGE OBJECT [(P)]1 x o x CLOB char (?)
CHAR LARGE OBJECT [(P)]1 x o x CLOB char (?)
CLOB [(P)]1 x o x CLOB char (?)
NATIONAL CHARACTER [(P)] o o o NCHAR char
NATIONAL CHAR [(P)] o o o NCHAR char
NCHAR [(P)] o o o NCHAR char
NATIONAL CHARACTER VARYING[(P)] o o o NVARCHAR char
NATIONAL CHAR VARYING [(P)] o o o NVARCHAR char
NCHAR VARYING [(P)] o o o NVARCHAR char
NATIONAL CHARACTER LARGE OBJECT [(P)]1 x o x NCLOB char (?)
NCHAR LARGE OBJECT [(P)]1 x o x NCLOB char (?)
NCLOB [(P)]1 x o x NCLOB char (?)
BINARY LARGE OBJECT [(P)]1 x o x BLOB unsignedByte6
BLOB [(P)]1 x o x BLOB unsignedByte6
NUMERIC [(P[,S])] o o o NUMERIC x5
DECIMAL [(P[,S])] o o o DECIMAL x5
DEC [(P[,S])] o o x DECIMAL x5
INTEGER o o o INTEGER int
INT o o o INTEGER int
SMALLINT o o o SMALLINT short
BIGINT x x x BIGINT long
FLOAT [(P)] o o o FLOAT double/float
REAL o o o REAL float
DOUBLE PRECISION o o o DOUBLE double
BOOLEAN x o x BOOLEAN boolean
DATE o o o DATE x
TIME [(P)]2 o o o TIME x
TIMESTAMP [(P)]2 o o o TIMESTAMP x
INTERVAL ... 3 o o o x x
x BIT [(P)] o o BIT? bit?
x BIT VARYING [(P)] o o BIT? bit?
x x x STC x x
x x x x x floatComplex
x x x x x doubleComplex
x x x x x unicodeChar

1 The syntax for sizes of large objects is actually somewhat different from the "[(P)]" applicable to simpler data types.
2 The syntax for sizes of TIME and TIMESTAMP is actually somewhat different from the "[(P)]" applicable to simpler data types.
3 See the SQL 2003 grammar for precise specification of INTERVAL type.
4 JDBC's java.sql.Types defines many other types that do not appear in any of the SQL standards, but correspond to database type systems.
5 Decimal might be mapped to floats or doubles in a result type, but have different semantics for mathematical operations etc.
6 Following Mark's suggestion on the mailing list.


Topic attachments
I Attachment History ActionSorted ascending Size Date Who Comment
Texttxt adqltypes.txt r1 manage 13.2 K 2009-03-23 - 07:04 GerardLemson  

This topic: IVOA > GerardLemson > GerardLemsonTAP_031 > GerardLemsonADQLDataTypes
Topic revision: r6 - 2009-03-24 - GerardLemson
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback