JDBCドライバを利用するアプリケーションからデータベースにアクセスする場合、利用者はSQLのデータ型を意識したアプリケーション作りをする必要があります。
Symfoware ServerのSQLのデータ型に対応するJavaのデータ型を以下の表に示します。
分類 | Symfoware Server のSQLのデータ型 | Javaのデータ型 | 参照先 |
---|---|---|---|
真数型 | SMALLINT | short | |
INTEGER | int | ||
NUMERIC | java.math.BigDecimal | ||
DECIMAL | |||
概数型 | REAL | float | |
FLOAT(p) p=1~23 | |||
FLOAT(p) p=24~52 | double | ||
DOUBLE PRECISION | |||
日時型 | DATE | java.sql.Date | |
TIME | java.sql.Time | ||
TIMESTAMP | java.sql.Timestamp | ||
文字列型 | CHARACTER | String | |
VARCHAR | |||
各国語 文字列型 | NCHAR | ||
NCHAR VARYING | |||
BLOB型 | BLOB | byte[] | |
時間隔型 | INTERVAL YEAR TO MONTH | 未サポート |
|
INTERVAL YEAR | |||
INTERVAL MONTH | |||
INTERVAL DAY TO HOUR | |||
INTERVAL DAY TO MINUTE | |||
INTERVAL DAY TO SECOND | |||
INTERVAL DAY | |||
INTERVAL HOUR TO MINUTE | |||
INTERVAL HOUR TO SECOND | |||
INTERVAL HOUR | |||
INTERVAL MINUTE TO SECOND | |||
INTERVAL MINUTE | |||
INTERVAL SECOND |
Javaアプリケーションでは、ResultSetMetaDataのgetColumnTypesメソッドでSymfoware ServerのSQLのデータ型を取得したり、CallableStatementのregisterOutParameterメソッドでSymfoware ServerのSQLのデータ型を指定する場合があります。
SQLのデータ型を識別する値はjava.sql.Typesで規定されています。Symfoware ServerのSQLのデータ型に対応するjava.sql.Typesの値を以下の表に示します。
分類 | Symfoware Server のSQLのデータ型 | java.sql.Typesで規定されるデータ型 |
---|---|---|
真数型 | SMALLINT | java.sql.Types.SMALLINT(推奨) |
INTEGER | java.sql.Types.INTEGER | |
NUMERIC | java.sql.Types.NUMERIC | |
java.sql.Types.BIGINT | ||
DECIMAL | java.sql.Types.DECIMAL | |
java.sql.Types.BIGINT | ||
概数型 | REAL | java.sql.Types.REAL |
FLOAT(p) p=1~23 | ||
FLOAT(p) p=24~52 | java.sql.Types.DOUBLE | |
DOUBLE PRECISION | ||
日時型 | DATE | java.sql.Types.DATE |
TIME | java.sql.Types.TIME | |
TIMESTAMP | java.sql.Types.TIMESTAMP | |
文字列型 | CHARACTER | java.sql.Types.CHAR |
VARCHAR | java.sql.Types.VARCHAR(推奨) | |
各国語 | NCHAR | java.sql.Types.CHAR |
NCHAR VARYING | java.sql.Types.VARCHAR(推奨) | |
BLOB型 | BLOB | java.sql.Types.BINARY |
java.sql.Types.VARBINARY | ||
java.sql.Types.LONGVARBINARY | ||
時間隔型 | INTERVAL YEAR TO MONTH | 未サポート |
INTERVAL YEAR | ||
INTERVAL MONTH | ||
INTERVAL DAY TO HOUR | ||
INTERVAL DAY TO MINUTE | ||
INTERVAL DAY TO SECOND | ||
INTERVAL DAY | ||
INTERVAL HOUR TO MINUTE | ||
INTERVAL HOUR TO SECOND | ||
INTERVAL HOUR | ||
INTERVAL MINUTE TO SECOND | ||
INTERVAL MINUTE | ||
INTERVAL SECOND |