Symfoware Server アプリケーション開発ガイド(JDBCドライバ編) - FUJITSU - |
目次 索引 |
第2章 アプリケーションの設計 | > 2.4 データ型 | > 2.4.2 Symfoware Serverのデータ型 |
JavaのString型は可変長です。Symfoware ServerのCHAR型は固定長で、VARCHAR型は可変長です。JavaのString型を用いて、Symfoware ServerのCHAR型およびVARCHAR型のデータを扱うことができます。
Symfoware ServerのCHAR型およびVARCHAR型へ代入可能なJavaのデータ型は以下のとおりです。
分類 |
Javaのデータ型 |
レベル |
---|---|---|
文字列型 |
String |
推奨 |
真数型 |
java.math.BigDecimal |
可能 |
boolean |
可能 |
|
byte |
可能 |
|
short |
可能 |
|
int |
可能 |
|
long |
可能 |
|
概数型 |
float |
可能 |
double |
可能 |
|
日時型 |
java.sql.Date |
可能 |
java.sql.Time |
可能 |
|
java.sql.Timestamp |
可能 |
|
Object型 |
java.lang.Object |
未サポート |
Symfoware ServerのCHAR型は固定長なので、扱うデータがデータベースの定義長よりも短い場合、代入するデータの後方には空白が付加されて格納されます。VARCHAR型は可変長なので、データの後方に空白は付加されず、そのまま格納されます。Symfoware ServerのCHAR型またはVARCHAR型へデータを代入する場合、String型の使用を推奨します。
Javaの真数型および概数型のデータをSymfoware ServerのCHAR型およびVARCHAR型へ代入する場合、数値データはASCIIコードで表現される文字列に置き換わって格納されます。
setDoubleメソッドを使用してJavaのdouble型のデータをSymfoware ServerのCHAR型およびVARCHAR型へ代入する場合、またはsetFloatメソッドを使用してJavaのfloat型のデータをSymfoware ServerのCHAR型およびVARCHAR型へ代入する場合、代入するデータは、小数点以下6桁で四捨五入された値に置き換わって格納されます。
Javaの日時型のデータをSymfoware ServerのCHAR型およびVARCHAR型へ代入する場合、Symfoware Serverの文字型に次のような形式の文字列に置き換わって格納されます。
【格納形式】
java.sql.Data型 :YYYY-MM-DDjava.sql.Time型 :hh:mm:ss
java.sql.Timestamp型 :YYYY-MM-DD hh:mm:ss
【格納例】
java.sql.Data型 :2007-04-21java.sql.Time型 :11:34:56
java.sql.Timestamp型 :2007-04-21 11:34:56
Symfoware ServerのCHAR型およびVARCHAR型から取り出し可能なJavaのデータ型は以下のとおりです。
分類 |
Javaのデータ型 |
レベル |
---|---|---|
文字列型 |
String |
推奨 |
真数型 |
java.math.BigDecimal |
可能 |
boolean |
可能 |
|
byte |
可能 |
|
short |
可能 |
|
int |
可能 |
|
long |
可能 |
|
概数型 |
float |
可能 |
double |
可能 |
|
日時型 |
java.sql.Date |
可能 |
java.sql.Time |
可能 |
|
java.sql.Timestamp |
可能 |
|
Object型 |
java.lang.Object |
未サポート |
Symfoware ServerのCHAR型およびVARCHAR型のデータを取り出す場合、JavaのString型の使用を推奨します。Symfoware ServerのCHAR型データの後方に空白が付加されている場合には空白を含めたデータがそのまま取り出されます。
Symfoware ServerのCHAR型およびVARCHAR型のデータをJavaの真数型および概数型へ取り出す場合、取り出す文字データが数値で表現できるデータである必要があります。また、取り出す先のデータ型で表現できる範囲の数値のASCIIコードで表現される文字データである必要があります。それ以外の文字データを取り出す事はできません。
Symfoware ServerのCHAR型およびVARCHAR型のデータをJavaの日時型へ取り出す場合、取り出す文字データが以下の形式である必要があります。それ以外の文字データを取り出す事はできません。
【文字データの形式】
java.sql.Date型 :YYYY-MM-DDjava.sql.Time型 :hh:mm:ss
java.sql.Timestamp型 :YYYY-MM-DD hh:mm:ss
【文字データ例】
java.sql.Date型 :2007-04-21java.sql.Time型 :11:34:56
java.sql.Timestamp型 :2007-04-21 11:34:56
日時の各フィールドに代入可能な値の有効値は以下のとおりです。
フィールド |
有効値 |
---|---|
年 |
1〜9999 |
月 |
1〜12 |
日 |
1〜31 |
時 |
0〜23 |
分 |
0〜59 |
秒 |
0〜59 |
CHAR型またはVARCHAR型に対して、ヘキサデータの0x00を取り扱うことはできません。ヘキサデータを扱う場合は、BLOB型を使用してください。
目次 索引 |