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 言語 拡張仕様編」 「25.6.1 1バイト2進機能」を参照してください。