スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

付録F.2 SQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型とCOBOL言語のデータ記述の対応を示します。

なお,データの受け渡しには,対応するデータ型以外に,変換,又は代入できるデータ型も使用できます。

<この項の構成>
(1) SQLのデータ型とCOBOL言語のデータ記述
(2) 配列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述
(3) 繰返し列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述

(1) SQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型とCOBOL言語のデータ記述を次の表に示します。なお,表中のデータ記述は,次のように表記することもできます。

PICTURE:
PIC

COMPUTATIONAL:
COMP

COMPUTATIONAL-n:
COMP-n

9(n):
99…9

X(n):
XX…X

OCCURS n TIMES:
OCCURS 1 TO n TIMES
OCCURS 1 TO n
OCCURS n

 

表F-8 SQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型 COBOL言語のデータ記述 項目の記述 備  考
SMALLINT L1 基本項目名
PICTURE S9(4)
COMPUTATIONAL.
基本項目,又は独立項目  
INTEGER L1 基本項目名
PICTURE S9(9)
COMPUTATIONAL.
基本項目,又は独立項目  
DECIMAL[(p[,s])] L1 基本項目名
PICTURE S9(p-s)[V9(s)]
COMPUTATIONAL-3.
基本項目,又は独立項目 1≦p≦38※10
0≦s≦p
p=sの場合,SV9(s)とします。
s=0の場合,[V9(s)]を省略します。
L1 基本項目名
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN
LEADING SEPARATE.※9※12
L1 基本項目名
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN
TRAILING.※11※12※13
SMALLFLT
(REAL)
L1 基本項目名
COMPUTATIONAL-1.
基本項目,又は独立項目  
FLOAT
(DOUBLE
PRECISION)
L1 基本項目名
COMPUTATIONAL-2.
基本項目,又は独立項目  
CHAR[(n)]
[CHARACTER SET [MASTER.]EBCDIK]
L1 基本項目名
[CHARACTER SET[IS]
[MASTER.]EBCDIK]
PICTURE X(n).※5
基本項目,又は独立項目 1≦n≦30000
CHAR[(2n)]
CHARACTER SET [MASTER.]UTF16
HiRDBサーバの既定文字集合がUTF-8以外の場合:※15
CHAR型は使用できません。
HiRDBサーバの既定文字集合がUTF-8の場合:※15
L1 基本項目名
PICTURE N(n).
基本項目,又は独立項目 1≦n≦15000
VARCHAR(n)
[CHARACTER SET [MASTER.]EBCDIK]
L2 集団項目名
[CHARACTER SET[IS]
[MASTER.]EBCDIK].
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※5
二つの基本項目から構成される集団項目
基本項目名1:文字列長
基本項目名2:文字列
文字列長はバイト数
1≦n≦32000
VARCHAR(2n)
CHARACTER SET [MASTER.]UTF16
HiRDBサーバの既定文字集合がUTF-8以外の場合:※15
VARCHAR型は使用できません。
HiRDBサーバの既定文字集合がUTF-8の場合:※15
L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n).
二つの基本項目から構成される集団項目
基本項目名1:文字列長
基本項目名2:文字列
文字列長はバイト数
1≦n≦16000
NCHAR[(n)] HiRDBサーバの既定文字集合がUTF-8以外の場合:※15
L1 基本項目名
PICTURE N(n).
 
HiRDBサーバの既定文字集合がUTF-8の場合:※15
NCHAR型は使用できません。
基本項目,又は独立項目 1≦n≦15000
NVARCHAR(n) HiRDBサーバの既定文字集合がUTF-8以外の場合:※15
L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n).
 
HiRDBサーバの既定文字集合がUTF-8の場合:※15
NVARCHAR型は使用できません。
二つの基本項目から構成される集団項目
基本項目名1:文字列長基本項目名2:文字列
1≦n≦16000
MCHAR[(n)] L1 基本項目名
PICTURE X(n).※6
 
HiRDBサーバの既定文字集合がUTF-8の場合は※15,次のように記述することもできます。
L1 基本項目名
PICTURE N(n2).※14
基本項目,又は独立項目 1≦n≦30000
MVARCHAR(n) L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※6
 
HiRDBサーバの既定文字集合がUTF-8の場合は※15,次のように記述することもできます。
L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n2).※14
二つの基本項目から構成される集団項目
基本項目名1:文字列長
基本項目名2:文字列
1≦n≦32000
DATE L1 基本項目名
PICTURE X(10).※6
基本項目,又は独立項目  
TIME L1 基本項目名 PICTURE X(8).※6 基本項目,又は独立項目  
TIMESTAMP[(p)] L1 基本項目名 PICTURE X(n).※6 基本項目,又は独立項目 p=0の場合はn=19
p=2の場合はn=21,22
p=4の場合はn=23,24
p=6の場合はn=25,26
INTERVAL
YEARTO DAY
L1 基本項目名
PICTURE S9(8)
COMPUTATIONAL-3.
基本項目,又は独立項目  
INTERVAL
HOUR TO
SECOND
L1 基本項目名
PICTURE S9(6)
COMPUTATIONAL-3.
基本項目,又は独立項目  
ROW※3 この表中のデータ項目と集団項目の組み合わせ1 複数の基本項目から構成される集団項目 1≦全体長≦30000
BLOB L2 集団項目名2
[USAGE [IS]]
SQL TYPE IS
BLOB(n{K|M|G}).※4※7
基本項目 単位省略時:
1≦n≦2147483647
単位がK:
1≦n≦2097152
単位がM:
1≦n≦2048
単位がG:
1≦n≦2
BINARY(n) L2 集団項目名.
L3 基本項目名1
PICTURE S9(9)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※5※7
二つの基本項目から構成される集団項目
基本項目名1:文字列長
基本項目名2:文字列
文字列長はバイト数
1≦n≦2147483647
BLOB位置付け子 L1 基本項目名
SQL TYPE IS
BLOB AS LOCATOR.※8
基本項目,又は独立項目  
BINARY位置付け子 L1 基本項目名
SQL TYPE IS
BINARY AS LOCATOR.※8
基本項目,又は独立項目  
標識変数 BLOB,BINARY,BLOB位置付け子,BINARY位置付け子以外 L1 基本項目名
PICTURE S9(4)
COMPUTATIONAL.
基本項目,又は独立項目  
BLOB,BINARY,BLOB位置付け子,BINARY位置付け子 L1 基本項目名
PICTURE S9(9)
COMPUTATIONAL.
SQL文 L2 集団項目名.
L3 基本項目名1
PICTURE S9(9)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).
二つの基本項目から構成される集団項目
基本項目名1:文字列長
基本項目名2:文字列
1≦n≦2000000

(凡例)
L1:レベル番号01〜49,又は77
L2:レベル番号01〜48
L3:レベル番号02〜49(L2<L3)
n:長さ(バイト)
p:精度(全体のけた数)
s:位取り(小数点以下のけた数)

注※1
次に示す句を使用できます。
  • REDEFINES句
  • OCCURS句
  • ADDRESSED BY句
FIX属性の表を行単位に操作する場合,1行分のデータを格納するデータ項目を集団項目として記述します。操作対象の表の各列と集団項目に従属する各データ項目とが対応するように記述します。各列に対応するデータ項目はその列のデータ型に対応するデータ記述を使用して記述します。ただし,データ形式の変換が必要になるデータ記述は使用できません。
データ形式の変換が必要になるデータ記述と,その代わりに使用できるデータ記述を次の表に示します。
列のデータ型 データ形式の変換が必要になるため使用できないデータ記述 代わりに使用できるデータ記述
DECIMAL DISPLAY (外部10進形式) COMP-3 (内部10進形式)
MCHAR PICTURE N(日本語項目) PICTURE X(英数字項目)
DATE PICTURE X(10)
10=文字列表現の文字数
PICTURE X(4)
4=X'YYYYMMDD'形式のバイト数
TIME PICTURE X(8)
8=文字列表現の文字数
PICTURE X(3)
3=X'hhmmss'形式のバイト数
TIMESTAMP(p) PICTURE X(n)
n=文字列表現の文字数
PICTURE X(n)
n=7+p/2
n=X'YYYYMMDDhhmmss〔nn…n〕'形式のバイト数
操作対象の表の列に対応するデータ項目を,REDEFINES句を使用して再定義できます。この場合,再定義する項目は再定義される項目に対応する列のデータ型と関係なく記述できます。ただし,表F-8のINTEGER,SMALLINT,DECIMAL,FLOAT SMALLFLT,CHAR,NCHAR型に対応する基本項目とこれらを組み合わせた集団項目だけが使用できます。これらの基本項目と集団項目に,OCCURS句を指定できます。

注※2
集団項目名は21文字以下にしてください。ただし,COBOL2002の場合は,22文字以下にしてください。

注※3
HiRDBサーバとHiRDBクライアントのエンディアンが同じ場合にだけ,ROW型を使用できます。

注※4
BLOBのUAPの記述は,内部的に次のように展開されます。
L2 集団項目名.
   49 集団項目名-RESERVED PIC S9(9) USAGE IS BINARY.  … 1
   49 集団項目名-LENGTH   PIC S9(9) USAGE IS BINARY.  … 2
   49 集団項目名-DATA     PIC X(m).                   … 3
  
  1. 変数名-RESERVEDは,使用しません。
  2. 変数名-LENGTHは,BLOBの実際の長さになります。
  3. 変数名-DATAは,BLOBのデータ格納領域(mは実際のデータ長)になります。

注※5
Xの代わりに9を使用して定義できます。9を使用して定義した場合,数字以外の文字を含む文字列を代入したり,検索結果として受け取ったときの動作はCOBOL言語のコンパイラの実装に依存します。

注※6
Xの代わりに9を使用して定義した場合,プリプロセス時にエラーとなりませんが,使用しないでください。

注※7
宣言できる上限値は,COBOLコンパイラの実装に依存します。詳細については,使用するCOBOLコンパイラのマニュアルを参照してください。

注※8
内部的には,次のように展開されます。
 
L1 基本項目名 PICTURE S9(9) COMPUTATIONAL.

注※9
HiRDBサーバのデータ型はDECIMAL型ですが,先頭1バイトに演算符号が付く外部10進項目として表します。

注※10
COBOLコンパイラの仕様に依存します。例えば,COBOL85の場合は1≦p≦18となります。

注※11
HiRDBサーバのデータ型はDECIMAL型ですが,右端1バイトの上位4ビットに演算符号が付く外部10進項目(ゾーン形式)として表します。

注※12
演算符号が付く数字項目にデータ項目の表現形式が指定されていない場合は,DISPLAY(外部10進項目)とみなします。演算符号が付く外部10進項目にSIGN句が指定されていない場合は,演算符号の位置と表現形式はDISPLAY SIGN TRAILING形式と同じであるとみなします。

注※13
DISPLAY SIGN TRAILING形式は,COBOL85及びCOBOL2002でだけサポートしています。

注※14
COBOL言語の日本語項目(PICTURE N)を含むこのデータ記述は,COBOL2002のUnicode機能を使用する場合にだけ,SQLの混在文字データ型(MCHAR又はMVARCHAR)に対応するデータ記述として使用できます。
COBOL2002のUnicode機能を使用したUAPの実行については「8.4.3 COBOL2002のUnicode機能を使用したUAPの実行」を参照してください。
このデータ記述は,埋込み変数の宣言,及び?パラメタの値を格納するデータ領域の宣言に使用できます。
埋込み変数の場合
-XU16オプションの指定に従って,文字集合名UTF-16LE又はUTF-16BEを指定した文字データ型(CHAR又はVARCHAR)のデータとして扱います。詳細を次の表に示します。
データ記述の形式 COBOL言語のデータ記述 埋込み変数の属性
データ型 文字集合名
固定長 L1 基本項目名
PICTURE N(n2).
CHAR(m)
m = 2×n2
UTF-16LE又はUTF-16BE
可変長 L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n2).
VARCHAR(m)
m = 2×n2
UTF-16LE又はUTF-16BE
注 可変長形式の基本項目名1には,基本項目名2に格納する日本語文字列の長さをバイト単位で指定します。日本語項目に格納するデータの文字コードはUTF-16(UCS-2の範囲内)になるため,日本語文字列のバイト数は文字数の2倍になります。なお,このバイト数は2×n2以下になります。
?パラメタの値を格納するデータ領域の場合
?パラメタの値を格納するデータ領域の宣言にこのデータ記述を使用する場合は,SQL記述領域と文字集合名記述領域を次の表に示すとおりに設定してください。
データ記述の形式 COBOL言語のデータ記述 SQL記述領域の設定値 文字集合名記述領域の設定値
データコード データ長
固定長 L1 基本項目名
PICTURE N(n2).
CHAR型のデータコード 2×n2 UTF-16LE又はUTF-16BE
可変長 L2 集団項目名.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n2).
VARCHAR型のデータコード 2×n2 UTF-16LE又はUTF-16BE
注 可変長形式の基本項目名1には,基本項目名2に格納する日本語文字列の長さをバイト単位で指定します。日本語項目に格納するデータの文字コードはUTF-16(UCS-2の範囲内)になるため,日本語文字列のバイト数は文字数の2倍になります。なお,このバイト数は2×n2以下になります。
なお,文字集合名の詳細については,「付録E.1(3) 文字集合名記述領域のSQLCSNに設定できる文字集合情報」を参照してください。

注※15
pdntenvコマンド(UNIX版の場合はpdsetupコマンド)で,文字コード種別にutf-8を指定した場合に,HiRDBサーバの既定文字集合がUTF-8になります。

(2) 配列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述

配列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述を次の表に示します。

表F-9 配列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型 COBOL言語のデータ記述 項目の記述 備  考
SMALLINT L2 基本項目名
PICTURE S9(4)
COMPUTATIONAL
OCCURS m TIMES.
OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目  
INTEGER L2 基本項目名
PICTURE S9(9)
COMPUTATIONAL
OCCURS m TIMES.
 
DECIMAL
[(p[,s])]
L2 基本項目名
PICTURE S9(p-s)[V9(s)]
COMPUTATIONAL-3
OCCURS m TIMES.
1≦p≦38※3
0≦s≦p
p=sの場合,SV9(s)とします。
s=0の場合,[V9(s)]を省略します。
L2 基本項目名
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN LEADING
SEPARATE OCCURS m
TIMES.
L2 基本項目名
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN TRAILING
OCCURS m TIMES.
SMALLFLT
(REAL)
L2 基本項目名
COMPUTATIONAL-1
OCCURS m TIMES.
 
FLOAT
(DOUBLE
PRECISION)
L2 基本項目名
COMPUTATIONAL-2
OCCURS m TIMES.
 
CHAR[(n)]
[CHARACTER SET [MASTER.]EBCDIK]
L2 基本項目名
[CHARACTER SET[IS]
[MASTER.]EBCDIK]
PICTURE X(n)
OCCURS m TIMES.※1
1≦n≦30000
CHAR[(2n)]
CHARACTER SET [MASTER.]UTF16
HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
CHAR型は使用できません。
HiRDBサーバの既定文字集合がUTF-8の場合:※5
L2 基本項目名
PICTURE N(n)
OCCURS m TIMES.
1≦n≦15000
VARCHAR(n)
[CHARACTER SET [MASTER.]EBCDIK]
L2 集団項目名2
[CHARACTER SET[IS]
[MASTER.]EBCDIK]
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※1
1≦n≦32000
VARCHAR(2n)
CHARACTER SET [MASTER.]UTF16
HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
VARCHAR型は使用できません。
HiRDBサーバの既定文字集合がUTF-8の場合:※5
L2 集団項目名2
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n).
1≦n≦16000
NCHAR[(n)] HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
L2 基本項目名
PICTURE N(n)
OCCURS m TIMES.
 
HiRDBサーバの既定文字集合がUTF-8の場合:※5
NCHAR型は使用できません。
1≦n≦15000
NVARCHAR(n) HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
L2 集団項目名2
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n).
 
HiRDBサーバの既定文字集合がUTF-8の場合:※5
NVARCHAR型は使用できません。
1≦n≦16000
MCHAR[(n)] L2 基本項目名
PICTURE X(n)
OCCURS m TIMES.※2
 
HiRDBサーバの既定文字集合がUTF-8の場合は※5,次のように記述することもできます。
L2 基本項目名
PICTURE N(n2)
OCCURS m TIMES.※4
1≦n≦30000
MVARCHAR(n) L2 集団項目名2
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※2
 
HiRDBサーバの既定文字集合がUTF-8の場合は※5,次のように記述することもできます。
L2 集団項目名2
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(4)
COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n2).※4
1≦n≦32000
DATE L2 基本項目名
PICTURE X(10)
OCCURS m TIMES.※2
 
TIME L2 基本項目名
PICTURE X(8)
OCCURS m TIMES.※2
 
TIMESTAMP(p) L2 基本項目名
PICTURE X(n)
OCCURS m TIMES.※2
p=0の場合,n=19
p=2の場合,n=21,22
p=4の場合,n=23,24
p=6の場合,n=25,26
INTERVAL
YEARTO DAY
L2 基本項目名
PICTURE S9(8)
COMPUTATIONAL-3
OCCURS m TIMES.
 
INTERVAL
HOUR TO
SECOND
L2 基本項目名
PICTURE S9(6)
COMPUTATIONAL-3
OCCURS m TIMES.
 
ROW L2 集団項目名2
OCCURS m TIMES.
この表の中のデータ項目と集団項目の組み合わせ※6
 
BLOB  
BINARY L2 集団項目名2
OCCURS m TIMES.
L3 基本項目名1
PICTURE S9(9)
COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n).※1
OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目
  • 配列を使用したFETCHの場合,
    4≦n≦2147483644(nは4の倍数であること)
  • 配列を使用したFETCH以外の場合,
    4≦n≦32000(nは4の倍数であること)
BLOB位置付け子  
BINARY位置付け子 L2 基本項目名
SQL TYPE IS
BINARY AS LOCATOR
OCCURS m TIMES.
OCCURSの指定によって同じデータ構造を繰り返す反復データ項目から構成される集団項目  
標識変数 BINARY,BINARY位置付け子以外 L2 基本項目名
PICTURE S9(4)
COMPUTATIONAL
OCCURS m TIMES.
 
BINARY,BINARY位置付け子 L2 基本項目名
PICTURE S9(9)
COMPUTATIONAL
OCCURS m TIMES.
 
SQL文  

(凡例)
−:記述できません。
L2:レベル番号02〜49(L2<L3)
L2にはレベル番号01,66,77,又は88を指定できません。詳細はCOBOL言語のマニュアルのOCCURS句の構文規則を参照してください。
L3:レベル番号03〜49
m:配列の要素数(1〜4,096)
n:長さ(バイト)
p:精度(全体のけた数)
s:位取り(小数点以下のけた数)

注※1
Xの代わりに9を使用して定義できます。9を使用して定義した場合,数字以外の文字を含む文字列を代入したり,検索結果として受け取ったときの動作はCOBOL言語のコンパイラの実装に依存します。

注※2
Xの代わりに9を使用して定義した場合,プリプロセス時にエラーとなりませんが,使用しないでください。

注※3
COBOLコンパイラの仕様に依存します。例えば,COBOL85の場合は1≦p≦18となります。

注※4
COBOL言語の日本語項目(PICTURE N)を含むこのデータ記述は,COBOL2002のUnicode機能を使用する場合にだけ,SQLの混在文字データ型(MCHAR又はMVARCHAR)に対応するデータ記述として使用できます。詳細については,「表F-8 SQLのデータ型とCOBOL言語のデータ記述」のMCHAR[(n)]及びMVARCHAR(n)の注を参照してください。

注※5
pdntenvコマンド(UNIX版の場合はpdsetupコマンド)で,文字コード種別にutf-8を指定した場合に,HiRDBサーバの既定文字集合がUTF-8になります。

注※6
組み合わせの詳細については,表F-8を参照してください。

(3) 繰返し列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述

繰返し列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述を次の表に示します。

表F-10 繰返し列を使用した場合のSQLのデータ型とCOBOL言語のデータ記述

SQLのデータ型 COBOL言語のデータ記述 項目の記述 備考
SMALLINT L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(4) COMPUTATIONAL
OCCURS m TIMES.
二つの基本項目から構成される集団項目  
INTEGER L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(9) COMPUTATIONAL
OCCURS m TIMES.
 
DECIMAL
[(p[,s])]
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(p-s)[V9(s)]
COMPUTATIONAL-3
OCCURS m TIMES.
1≦p≦38※3
0≦s≦p
p=sの場合,SV9(s)とします。
s=0の場合,[V9(s)]を省略します。
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN LEADING SEPARATE
OCCURS m TIMES.
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(p-s)[V9(s)]
DISPLAY SIGN TRAILING
OCCURS m TIMES.
SMALLFLT
(REAL)
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
COMPUTATIONAL-1
OCCURS m TIMES.
 
FLOAT
(DOUBLE
PRECISION)
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2 COMPUTATIONAL-2
OCCURS m TIMES.
 
CHAR[(n)] L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n) OCCURS m TIMES.※1
1≦n≦30000
VARCHAR(n) L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 集団項目名2 OCCURS m TIMES.
L4 基本項目名3
PICTURE S9(4)
COMPUTATIONAL.
L4 基本項目名4 PICTURE X(n).※1
二つの基本項目から構成される集団項目と,一つの基本項目から成る集団項目 1≦n≦32000
NCHAR[(n)] HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n) OCCURS m TIMES.
 
HiRDBサーバの既定文字集合がUTF-8の場合:※5
NCHAR型は使用できません。
二つの基本項目から構成される集団項目 1≦n≦15000
NVARCHAR(n) HiRDBサーバの既定文字集合がUTF-8以外の場合:※5
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 集団項目名2 OCCURS m TIMES.
L4 基本項目名3
PICTURE S9(4)
COMPUTATIONAL.
L4 基本項目名4 PICTURE N(n).
 
HiRDBサーバの既定文字集合がUTF-8の場合:※5
NVARCHAR型は使用できません。
二つの基本項目から構成される集団項目と,一つの基本項目から成る集団項目 1≦n≦16000
MCHAR[(n)] L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n) OCCURS m TIMES.※1
 
HiRDBサーバの既定文字集合がUTF-8の場合は※5,次のように記述することもできます。
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE N(n2) OCCURS m TIMES.※4
二つの基本項目から構成される集団項目 1≦n≦30000
MVARCHAR(n) L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 集団項目名2 OCCURS m TIMES.
L4 基本項目名3
PICTURE S9(4)
COMPUTATIONAL.
L4 基本項目名4 PICTURE X(n).※1
 
HiRDBサーバの既定文字集合がUTF-8の場合は※5,次のように記述することもできます。
L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 集団項目名2 OCCURS m TIMES.
L4 基本項目名3
PICTURE S9(4)
COMPUTATIONAL.
L4 基本項目名4 PICTURE N(n2).※4
二つの基本項目から構成される集団項目と,一つの基本項目から成る集団項目 1≦n≦32000
DATE L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE X(10) OCCURS m TIMES.※2
二つの基本項目から構成される集団項目  
TIME L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE X(8) OCCURS m TIMES.※2
 
TIMESTAMP[(n)] L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE X(n) OCCURS m TIMES.※2
p=0の場合はn=19
p=2の場合はn=21,22
p=4の場合はn=23,24
p=6の場合はn=25,26
INTERVAL
YEARTO DAY
L2 集団項目名.
L3 基本項目名1
PICTURE S9(8) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(8)
COMPUTATIONAL-3
OCCURS m TIMES.
 
INTERVAL
HOUR TO
SECOND
L2 集団項目名.
L3 基本項目名1
PICTURE S9(6) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(6)
COMPUTATIONAL-3
OCCURS m TIMES.
 
ROW  
BLOB  
BINARY  
BLOB位置付け子  
BINARY位置付け子  
標識変数(BLOB,BINARY,BLOB位置付け子,BINARY位置付け子以外) L2 集団項目名.
L3 基本項目名1
PICTURE S9(9) COMPUTATIONAL.
L3 基本項目名2
PICTURE S9(4) COMPUTATIONAL
OCCURS m TIMES.
二つの基本項目から構成される集団項目  
SQL文  

(凡例)
−:記述できません。
L2:レベル番号02〜49
L3,L4:レベル番号03〜49
m:繰返し列の最大要素数(2〜30,000)
n:長さ(バイト)
p:精度(全体のけた数)
s:位取り(小数点以下のけた数)

注1
基本項目名1の値は,現在の要素数としてください。

注2
基本項目名2又は集団項目名2の値は,繰返しの各要素の値としてください。

注3
標識変数の基本項目名1は,繰返し列全体の標識としてください。

注4
標識変数の基本項目名2は,繰返し列の各要素の標識としてください。

注※1
Xの代わりに9を使用して定義できます。9を使用して定義した場合,数字以外の文字を含む文字列を代入したり,検索結果として受け取ったときの動作はCOBOL言語のコンパイラの実装に依存します。

注※2
Xの代わりに9を使用して定義した場合,プリプロセス時にエラーとなりませんが,使用しないでください。

注※3
COBOLコンパイラの仕様に依存します。例えば,COBOL85の場合は1≦p≦18となります。

注※4
COBOL言語の日本語項目(PICTURE N)を含むこのデータ記述は,COBOL2002のUnicode機能を使用する場合にだけ,SQLの混在文字データ型(MCHAR又はMVARCHAR)に対応するデータ記述として使用できます。詳細については,「表F-8 SQLのデータ型とCOBOL言語のデータ記述」のMCHAR[(n)]及びMVARCHAR(n)の注を参照してください。

注※5
pdntenvコマンド(UNIX版の場合はpdsetupコマンド)で,文字コード種別にutf-8を指定した場合に,HiRDBサーバの既定文字集合がUTF-8になります。