ここでは、DECIMAL型およびNUMERIC型で宣言したホスト変数のデータ形式について説明します。
DECIMAL型のホスト変数を宣言すると、コンパイル時にchar型の配列に変換します。Cプログラムでは、変換されたchar型の変数でデータ操作を行います。以下に、DECIMAL型ホスト変数をchar型の配列に変換した例を示します。
DECIMAL型ホスト変数をchar型の配列に変換した例
アプリケーション中に以下のように宣言します。
DECIMAL(15,5) dec1;
↓コンパイル時にchar型の配列に変換します。
char dec1[8];DECIMAL型のホスト変数を使用する場合、変換されたchar型領域のデータ形式は以下のようになります。

データに対応する数値(16進数の0から9)
符号(正:16進数のA,C,E,F 負:16進数のB,D)
データ設定の例
EXEC SQL BEGIN DECLARE SECTION; DECIMAL(5,2) D1; DECIMAL(6,2) D2; EXEC SQL END DECLARE SECTION;



備考. 精度が偶数の場合の先頭4ビットは、0になります。
NUMERIC型のホスト変数を宣言すると、コンパイル時にchar型の配列に変換します。Cプログラムでは、変換されたchar型の変数でデータ操作を行います。以下に、NUMERIC型ホスト変数をchar型の配列に変換した例を示します。
NUMERIC型ホスト変数をchar型の配列に変換した例
アプリケーション中に以下のように宣言します。
NUMERIC(15,5) num1;
↓コンパイル時にchar型の配列に変換します。
char num1[16];NUMERIC型のホスト変数を使用する場合、変換されたchar型領域のデータ形式は以下のようになります。

データに対応する数値(16進数の0から9)
符号(正:16進数の2B 負:16進数の2D)
データ設定の例
EXEC SQL BEGIN DECLARE SECTION; NUMERIC(5,2) N1; EXEC SQL END DECLARE SECTION;

