ここでは、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;