23.2.4 埋め込み変数

SQL文中で指定する埋め込み変数は,対応する列,または式で有効なODBC SQLデータ型と対応づけられたCOBOLデータ定義で,定義する必要があります。

ODBC SQLデータ型とCOBOLのデータ記述の対応を次に示します。

表23-3 ODBC SQLデータ型に対応したCOBOLのデータ記述

ODBC SQLデータ型埋め込み変数の型データ記述
CHAR(n)文字列型
固定長形式

Ln データ名     PIC X(n).

VARCHAR(n)文字列型
可変長形式

L1 データ名.
L2 ODBC-length PIC S9(9) USAGE COMP.
L2 ODBC-char   PIC  X(n).

LONG VARCHAR文字列型
可変長形式

L1 データ名.
L2 ODBC-length PIC S9(9) USAGE COMP.
L2 ODBC-char   PIC  X(max).

DECIMAL(p,s)数値型

Ln データ名     PIC S9(p-s)V9(s)
               SIGN IS LEADING
               SEPARATE CHARACTER.

NUMERIC(p,s)数値型

Ln データ名     PIC S9(p-s)V9(s)
               SIGN IS LEADING
               SEPARATE CHARACTER.

SMALLINT整数型符号付き2バイト2進項目
または,整数型符号なし2バイト2進項目

Ln データ名    PIC S9(4) USAGE COMP.

Ln データ名    PIC  9(4) USAGE COMP.

INTEGER整数型符号付き4バイト2進項目
または,整数型符号なし4バイト2進項目

Ln データ名    PIC S9(9) USAGE COMP.

Ln データ名    PIC  9(9) USAGE COMP.

REAL内部浮動小数点型単精度形式

Ln データ名    USAGE COMPUTATIONAL-1.

FLOAT内部浮動小数点型倍精度形式

Ln データ名    USAGE COMPUTATIONAL-2.

DOUBLE PRECISION内部浮動小数点型倍精度形式

Ln データ名    USAGE COMPUTATIONAL-2.

BITビット列型

L1 データ名.
L2 FILLER     PIC  1(7) USAGE BIT.
L2 ODBC-bit   PIC  1(1) USAGE BIT.

TINYINT整数型符号付き1バイト2進形式
または整数型符号なし1バイト2進形式

Ln データ名    PIC  X(1).

Ln データ名    PIC S9(2) USAGE COMP.

Ln データ名    PIC  9(2) USAGE COMP.

BIGINT整数型符号付き8バイト2進形式または整数型符号なし8バイト2進形式

Ln データ名    PIC  X(20).

BINARY(n)バイナリデータ型固定長形式

Ln データ名    PIC  X(n).

VARBINARY(n)バイナリデータ型可変長形式

L1 データ名.
L2 ODBC-length PIC S9(9) USAGE COMP.
L2 ODBC-binary PIC  X(n).

LONG VARBINARYバイナリデータ型可変長形式

L1 データ名.
L2 ODBC-length PIC S9(9) USAGE COMP.
L2 ODBC-binary PIC  X(max).

DATE日時型日付形式

L1 データ名.
L2 ODBC-year   PIC S9(4) USAGE COMP.
L2 ODBC-month  PIC  9(4) USAGE COMP.
L2 ODBC-day    PIC  9(4) USAGE COMP.

TIME日時型時刻形式

L1 データ名.
L2 ODBC-hour   PIC  9(4) USAGE COMP.
L2 ODBC-minute PIC  9(4) USAGE COMP.
L2 ODBC-second PIC  9(4) USAGE COMP.

TIMESTAMP日時型日付/時刻形式

L1 データ名.
L2 ODBC-year   PIC S9(4) USAGE COMP.
L2 ODBC-month  PIC  9(4) USAGE COMP.
L2 ODBC-day    PIC  9(4) USAGE COMP.
L2 ODBC-hour   PIC  9(4) USAGE COMP.
L2 ODBC-minute PIC  9(4) USAGE COMP.
L2 ODBC-second PIC  9(4) USAGE COMP.
L2 ODBC-fraction PIC 9(9) USAGE COMP.

(凡例)
Ln:レベル番号01~49,または77
L1:レベル番号01~48
L2:レベル番号02~49(ただし,L1<L2)
max:最大データ長
ODBC-xxx:任意のデータ名
データ名:SQL文中で指定する埋め込み変数名
上表以外のSQLデータ型には対応していません。
注※
1バイト2進項目は,COMP-X項目で定義するか,コンパイル時に-Bin1Byteオプションを指定する必要があります。1バイト2進項目の詳細については,マニュアル「COBOL2002 言語 拡張仕様編 26.5.1 1バイト2進機能」を参照してください。