Hitachi

Hitachi Advanced Database AP開発ガイド


15.5.1 ODBCのSQLデータ型とHADBのデータ型の対応

ODBCのSQLデータ型とHADBのデータ型の対応を次の表に示します。

表15‒3 ODBCのSQLデータ型とHADBのデータ型の対応

分類

ODBCのSQLデータ型

対応するHADBのデータ型

説明

使用可否

文字データ

SQL_CHAR

CHARACTER

固定長文字列

○

SQL_VARCHAR

VARCHAR

可変長文字列

○

SQL_LONGVARCHAR

STRING

可変長文字列

○

SQL_WCHAR

CHARACTER

固定長文字列(Unicode用)

○

SQL_WVARCHAR

VARCHAR

可変長文字列(Unicode用)

○

SQL_WLONGVARCHAR

STRING

可変長文字列(Unicode用)

○

数データ

SQL_DECIMAL

DECIMAL,NUMERIC

固定小数点数

○

SQL_NUMERIC

DECIMAL,NUMERIC

固定小数点数

○

SQL_TINYINT

−

1バイトの整数

×

SQL_SMALLINT

SMALLINT

2バイトの整数

○※1

SQL_INTEGER

INTEGER※3

4バイトの整数

○

SQL_BIGINT

BIGINT※4

8バイトの整数

○

SQL_REAL

REAL

単精度浮動小数点数

○

SQL_FLOAT

DOUBLE PRECISION,FLOAT

倍精度浮動小数点数

○

SQL_DOUBLE

DOUBLE PRECISION,FLOAT

倍精度浮動小数点数

○

SQL_BIT

BOOLEAN

ビット(論理データ)

○

SQL_BINARY

BINARY

固定長バイナリデータ

○

SQL_VARBINARY

VARBINARY

可変長バイナリデータ

○

SQL_LONGVARBINARY

−

可変長バイナリデータ

×

日付,時刻データ

SQL_TYPE_DATE(,SQL_DATE)※2

DATE

日付

○

SQL_TYPE_TIME(,SQL_TIME)※2

TIME

時刻

○

SQL_TYPE_TIMESTAMP(,SQL_TIMESTAMP)※2

TIMESTAMP

時刻印

○

SQL_INTERVAL_MONTH

−

月間隔

×

SQL_INTERVAL_YEAR

−

年間隔

×

SQL_INTERVAL_YEAR_TO_MONTH

−

−

×

SQL_INTERVAL_DAY

−

日間隔

×

SQL_INTERVAL_HOUR

−

時間隔

×

SQL_INTERVAL_MINUTE

−

分間隔

×

SQL_INTERVAL_SECOND

−

秒間隔

×

SQL_INTERVAL_DAY_TO_HOUR

−

−

×

SQL_INTERVAL_DAY_TO_MINUTE

−

−

×

SQL_INTERVAL_DAY_TO_SECOND

−

−

×

SQL_INTERVAL_HOUR_TO_MINUTE

−

−

×

SQL_INTERVAL_HOUR_TO_SECOND

−

−

×

SQL_INTERVAL_MINUTE_TO_SECOND

−

−

×

そのほか

SQL_GUID

UUID

固定長GUID

○

(凡例)

−:対応するデータ型なし

○:使用できるデータ型

×:使用できないデータ型

注※1

整数データ型のデータ形式がレガシー形式の場合,SQL_SMALLINTを使用してHADBのデータベースにアクセスできません。整数データ型のデータ形式がレガシー形式の場合,SQL_SMALLINTは,HADB ODBCドライバが提供する一部のカタログ関数のインタフェースとしてだけ使用できます。例えば,SQLColumnsの結果セット列のSQL_DATA_TYPEの値などで使用できます。

注※2

SQL_TYPE_DATE,SQL_TYPE_TIME,SQL_TYPE_TIMESTAMPは,ODBC3.0の日付時刻データ型です。通常はこちらを使用してください。

( )内はODBC2.0の日付時刻データ型です。ODBC3.0の日付時刻データ型と同等に扱われます。環境変数ADBODBAPMODEの指定によっては,メタデータの返却値として,( )内の識別子が返却されることがあります。

注※3

整数データ型のデータ形式がレガシー形式の場合,対応するHADBのデータ型はSMALLINT型になります。

注※4

整数データ型のデータ形式がレガシー形式の場合,対応するHADBのデータ型はINTEGER型になります。