Scalable Database Server, HiRDB Version 8 SQL Reference

[Contents][Index][Back][Next]

1.9.2 Type mapping

This section explains the mapping between the data types that are recognized in the Java language and the data types that are recognized by HiRDB.

Table 1-25 shows the implicit mapping that occurs when a Java signature specifying an external routine is omitted. Table 1-26 shows the mapping between the Java data types that can be specified in a Java signature with an external routine specification and the HiRDB data types.

Table 1-25 Implicit mapping that occurs when a Java signature specifying an external routine is omitted

HiRDB data type Java data type (null value allowed)
INT [EGER] java.lang.Integer
SMALLINT java.lang.Short
[LARGE] DEC [IMAL] java.math.BigDecimal
FLOAT, DOUBLE PRECISION java.lang.Double
SMALLFLT, REAL java.lang.Float
CHAR [ACTER] java.lang.String
VARCHAR(n), CHAR [ACTER] VARYING
NCHAR, NATIONAL CHAR [ACTER]
NVARCHAR, NATIONAL CHAR [ACTER], NCHAR VARYING
MCHAR
MVARCHAR
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
INTERVAL YEAR TO DAY java.math.BigDecimal
INTERVAL HOUR TO SECOND
BLOB, BINARY LARGE OBJECT byte[]
BINARY

Table 1-26 Mapping between Java data types specifiable in a Java signature with an external routine specification and HiRDB data types

HiRDB data type Java data type (null value allowed) Java data type (null value not allowed)1
INT [EGER] java.lang.Integer int
SMALLINT java.lang.Short short
[LARGE] DEC [IMAL] java.math.BigDecimal [Figure]
FLOAT, or DOUBLE PRECISION java.lang.Double double
SMALLFLT, or REAL java.lang.Float float
CHAR [ACTER] java.lang.String, or byte[]2 [Figure]3
VARCHAR(n), or CHAR [ACTER] VARYING
NCHAR, or NATIONAL CHAR [ACTER]
NVARCHAR, NATIONAL CHAR [ACTER], or NCHAR VARYING
MCHAR
MVARCHAR
DATE java.sql.Date [Figure]
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
INTERVAL YEAR TO DAY java.math.BigDecimal
INTERVAL HOUR TO SECOND
BLOB, or BINARY LARGE OBJECT byte[]
BINARY
Abstract data type [Figure]

[Figure]: No corresponding data type exists in the Java language.

1 Assigning the null value may cause an error at runtime.

2 Either Java.lang.String or byte[] can be specified as the Java data type corresponding to the HiRDB character string data type. Specifying byte[] suppresses character code conversion.

3 When Japanese data is exchanged between HiRDB and a Java routine using a String class or a class that has inherited that class, gaiji codes may not be correctly translated due to Java character code mapping rules (between a given character code and Unicode).