3.4 データベースのデータ型とSQLデータ型の対応

DBPARTNER ODBC 3.0 Driverの場合の,ODBCとデータベースとのデータ型の対応について,表 3-4~11に示します。ODBC SQLのデータ型とは,ODBC関数の引数に指定するSQLデータ型のことです。

表で使用している凡例の意味は次のとおりです。また,表の中で,※印で示している注意事項については,末尾にまとめて記述しています。

(凡例)
○:DBPARTNER ODBC 3.0 Driverでサポート済みです。
×:ODBC SQLに該当するデータ型がないので使えません。
表3-4  HiRDBとDBPARTNER ODBC 3.0 Driverとの対応
データ型分類HiRDBデータ型データ形式ODBC SQL
データ型
サポートの有無
数データINT[EGER]整数
(4バイト2進形式)
SQL_INTEGER
SMALLINT整数
(4バイト2進形式)
SQL_SMALLINT
[LARGE]DEC[IMAL](m[,n])]固定小数点数
(パック10進形式)
SQL_DECIMAL
FLOAT,又は
DOUBLE PRECISION
倍精度浮動小数点
(8バイト)
SQL_FLOAT
SMALLFT ,又はREAL単精度浮動小数点
(4バイト)
SQL_REAL
文字
データ
CHAR[ACTER][(m)]固定長文字列
(長さn文字)
SQL_CHAR
VARCHAR(n)可変長文字列
(最大長n文字)
SQL_VARCHAR
各国文字データNCHAR[(n)],又は
NATIONAL CHAR[ACTER][(n)]
固定長各国文字列
(長さn文字)
SQL_CHAR
NVARCHAR(n)可変長文字列
(最大長n文字)
SQL_VARCHAR
混在文字データMCHAR[(n)],又は
MIXED CHAR[ACTER][(n)]
固定長混在文字列
(最大長nバイト)
SQL_CHAR
MVARCHAR(n)可変長混在文字列
(最大長nバイト)
SQL_VARCHAR
バイナリデータBLOB(nt),又は
BINARY LARGE
OBJECT(nt)
バイナリデータ(nt)SQL_LONGVARBINARY
日付
データ
DATE日付(4バイト符号なしパック形式)SQL_TYPE_DATE
時間
データ
TIME時刻(3バイト符号なしパック形式)SQL_TYPE_TIME
日間隔
データ
INTERVAL YEAR TO DAY日間隔(5バイト符号なしパック形式)×
時間隔
データ
INTERVAL HOUR TO
SECOND
時間隔(4バイト符号なしパック形式)SQL_INTERVAL_HOUR_TO_SECOND
注※ 最大長及び記号(nt)の意味については,マニュアル「HiRDB Version 5.0 UAP開発ガイド」を参照してください。

表3-5  ORACLEとDBPARTNER ODBC 3.0 Driverとの対応

データ型分類ORACLEデータ型データ形式ODBC SQL
データ型
サポートの有無
数データNUMBER(m,n)固定長,又は浮動小数点
(m:精度,n:位取り)
SQL_NUMERIC
FLOAT倍精度浮動小数点数
(8バイト)
SQL_FLOAT
文字
データ
VARCHAR2(n)≦2000バイト,可変長文字列
(最大長nバイト)
SQL_VARCHAR
CHAR(n)≦255バイト,固定長文字列
(最大長nバイト)
SQL_CHAR
LONG≦214748364バイト,可変長文字列SQL_LONGVARCHAR
ROWID2進ROWIDSQL_CHAR
バイナリデータRAW≦255バイト,
可変長バイナリデータ
SQL_VARBINARY
LONG RAW≦214748364バイト,可変長バイナリデータSQL_LONGVARBINARY
日付
データ
DATE7バイト,
固定長日付/時刻値
SQL_TYPE_TIMESTAMP
制御用
アクセスデータ
MLSLABEL可変長バイナリデータ×

表3-6  XDM/RD E2とDBPARTNER ODBC 3.0 Driverとの対応

データ型分類XDM/RD E2データ型データ形式ODBC SQL
データ型
サポートの有無
数データDOUBLE PRECISION倍精度浮動小数点数
(8バイト)
SQL_FLOAT
SMALLFT,又はREAL単精度浮動小数点数
(4バイト)
SQL_REAL
DECIMAL固定小数点数SQL_DECIMAL
LARGE DECIMAL拡張精度固定小数点数SQL_DECIMAL
INTEGER整数
(2バイト2進形式)
SQL_INTEGER
SMALLINT整数
(4バイト2進形式)
SQL_SMALLINT
文字
データ
MVARCHAR可変長混在文字列SQL_VARCHAR
MCHAR固定長混在文字列SQL_CHAR
LONG MVARCHAR可変長長混在文字列SQL_LONGVARCHAR
NVARCHAR可変長各国文字列SQL_VARCHAR
NCHAR固定長各国文字列SQL_CHAR
LONG NVARCHAR可変長長各国文字列SQL_LONGVARCHAR
VARCHAR可変長文字列SQL_VARCHAR
CHAR固定長文字列SQL_CHAR
LONG VARCHAR可変長長文字列SQL_LONGVARCHAR
バイナリデータBLOB(nt),又は
BINARY LARGE
OBJECT(nt)
バイナリデータ(nt)SQL_LONGVARBINARY
日付
データ
DATE日付(4バイト符号なしパック形式)SQL_TYPE_DATE
時間
データ
TIME時刻(3バイト符号なしパック形式)SQL_TYPE_TIME
日間隔
データ
INTERVAL YEAR TO DAY日間隔(5バイト符号なしパック形式)×
時間隔
データ
INTERVAL HOUR TO SECOND時間隔(4バイト符号なしパック形式)SQL_INTERVAL_HOUR_TO_SECOND
注※ 最大長及び記号(nt)の意味については,マニュアル「VOS3 データマネジメントシステム XDM E2系 XDM/RD E2 SQLリファレンス」を参照してください。

表3-7  XDM/SD E2とDBPARTNER ODBC 3.0 Driverとの対応

データ型分類XDM/SD E2データ型データ形式ODBC SQL
データ型
サポートの有無
数データCOMP(2バイト)2進固定小数点数SQL_SMALLINT
COMP(4バイト)2進固定小数点数SQL_INTEGER
PACKED DECIMAL FIXEDパック形式10進数SQL_DECIMAL
UNPACKED DECIMAL
FIXED
ゾーン形式10進数SQL_DECIMAL
PACKED DECIMAL FIXED WITH NO SIGN符号なしパック形式10進数SQL_DECIMAL
UNPACKED DECIMAL FIXED WITH NO SIGN符号なしゾーン形式10進数SQL_DECIMAL
文字
データ
CHARACTER固定長文字列SQL_CHAR
NCHARACTER固定長日本語文字列SQL_CHAR
BIT固定長ビット列SQL_BINARY
バイナリデータDB-KEYデータベースキーSQL_BINARY

表3-8  SQL/KとDBPARTNER ODBC 3.0 Driverとの対応

データ型分類SQL/Kデータ型データ形式ODBC SQL
データ型
サポートの有無
数データNUMERIC TRAILINGゾーン10進符号ありSQL_NUMERIC
NUMERIC UNSIGNEDゾーン10進SQL_NUMERIC
DECIMALパック10進SQL_DECIMAL
INTEGER整数SQL_INTEGER
LARGE INT整数×
SMALLINT整数SQL_SMALLINT
文字
データ
MCHAR固定長混在文字列SQL_CHAR
NCHAR固定長漢字列SQL_CHAR
CHAR固定長文字列SQL_CHAR
バイナリ
データ
BITビット列×
XCHAR16進列SQL_BINARY

表3-9  VOS KスプールファイルとDBPARTNER ODBC 3.0 Driverの対応

データ型
分類
VOS Kスプールファイル
データ型
データ形式ODBC SQLデータ型サポートの有無
文字
データ
MCHAR固定長混在文字列SQL_CHAR

表3-10  PDM II E2とDBPARTNER ODBC 3.0 Driverの対応

データ型分類PDM II E2データ型データ形式ODBC SQLデータ型サポートの有無
バイナリデータROWIDROWIDSQL_BINARY
数データCOMP(2バイト)2進固定小数点数SQL_SMALLINT
COMP(4バイト)2進固定小数点数SQL_INTEGER
PACKED DECIMAL FIXEDパック形式10進数SQL_DECIMAL
UNPACKED DECIML FIXEDゾーン形式10進数SQL_DESIMAL
PACKED DECIMAL FIXED WITH NO SIGN符号なしパック形式10進数×
UNPACKED DECIMAL FIXED WITH NO SIGN符号なしゾーン形式10進数×
文字データCHARACTER固定長文字列SQL_CHAR
NCHARACTER固定長日本語文字列SQL_CHAR

表3-11 RDB1 E2とDBPARTNER ODBC 3.0 Driverの対応

データ型RDB1 E2データ型データ形式ODBC SQLデータ型サポートの有無
数データFLOAT倍精度浮動小数点数
(8バイト)
SQL_FLOAT
SMALLINT単精度浮動小数点数
(4バイト)
SQL_REAL
DECIMAL固定小数点数(パック10進式)SQL_DECIMAL
INTEGER整数(4バイト形式)SQL_INTEGER
SMALLINT整数(2バイト形式)SQL_SMALLINT
文字データNVARCHAR可変長日本語文字列SQL_VARCHAR
NCHAR固定長日本語文字列SQL_CHAR
VARCHAR可変長文字列SQL_VARCHAR
CHAR固定長文字列SQL_CHAR
LONG VARCHAR可変長長文字列SQL_LONGVARCHAR