Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


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

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,又はIVS対応UTF-8以外の場合:※15

CHAR型は使用できません。

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応UTF-8以外の場合:※15

VARCHAR型は使用できません。

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応UTF-8以外の場合:※15

L1 基本項目名

PICTURE N(n).

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8の場合:※15

NCHAR型は使用できません。

基本項目,又は独立項目

1≦n≦15000

NVARCHAR(n)

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8以外の場合:※15

L2 集団項目名.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE N(n).

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8の場合:※15

NVARCHAR型は使用できません。

二つの基本項目から構成される集団項目

基本項目名1:文字列長基本項目名2:文字列

1≦n≦16000

MCHAR[(n)]

L1 基本項目名

PICTURE X(n).※6

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応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句を使用して再定義できます。この場合,再定義する項目は再定義される項目に対応する列のデータ型と関係なく記述できます。ただし,表「SQLのデータ型とCOBOL言語のデータ記述」のINTEGER,SMALLINT,DECIMAL,FLOAT,SMALLFLT,CHAR,及びNCHAR型に対応する基本項目とこれらを組み合わせた集団項目だけが使用できます。これらの基本項目と集団項目に,OCCURS句を指定できます。

プリプロセサの-Xbオプションを指定する場合は,ROW型のデータ項目に含まれる2進項目のデータ記述のUSAGE句にCOMPの代わりにCOMP-5を指定する必要があります。-Xbオプションを指定しない場合は,ROW型のデータ項目に含まれる2進項目のデータ記述のUSAGE句にCOMPとCOMP-5のどちらでも指定できます。

注※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の実行については「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以下になります。

なお,文字集合名の詳細については,「文字集合名記述領域のSQLCSNに設定できる文字集合情報」を参照してください。

注※15

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

また,文字コード種別にutf-8_ivsを指定した場合,HiRDBサーバの既定文字集合がIVS対応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,又はIVS対応UTF-8以外の場合:※5

CHAR型は使用できません。

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応UTF-8以外の場合:※5

VARCHAR型は使用できません。

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応UTF-8以外の場合:※5

L2 基本項目名

PICTURE N(n)

OCCURS m TIMES.

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8以外の場合:※5

NCHAR型は使用できません。

1≦n≦15000

NVARCHAR(n)

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8以外の場合:※5

L2 集団項目名2

OCCURS m TIMES.

L3 基本項目名1

PICTURE S9(4)

COMPUTATIONAL.

L3 基本項目名2

PICTURE N(n).

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8以外の場合:※5

NVARCHAR型は使用できません。

1≦n≦16000

MCHAR[(n)]

L2 基本項目名

PICTURE X(n)

OCCURS m TIMES.※2

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応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)に対応するデータ記述として使用できます。詳細については,表「SQLのデータ型とCOBOL言語のデータ記述」のMCHAR[(n)]及びMVARCHAR(n)の注を参照してください。

注※5

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

また,文字コード種別にutf-8_ivsを指定した場合,HiRDBサーバの既定文字集合がIVS対応UTF-8になります。

注※6

組み合わせの詳細については,表「SQLのデータ型とCOBOL言語のデータ記述」を参照してください。

(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,又はIVS対応UTF-8以外の場合:※5

L2 集団項目名.

L3 基本項目名1

PICTURE S9(9) COMPUTATIONAL.

L3 基本項目名2

PICTURE N(n) OCCURS m TIMES.

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応UTF-8の場合:※5

NCHAR型は使用できません。

二つの基本項目から構成される集団項目

1≦n≦15000

NVARCHAR(n)

HiRDBサーバの既定文字集合がUTF-8,又はIVS対応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,又はIVS対応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,又はIVS対応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,又はIVS対応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)に対応するデータ記述として使用できます。詳細については,表「SQLのデータ型とCOBOL言語のデータ記述」のMCHAR[(n)]及びMVARCHAR(n)の注を参照してください。

注※5

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

また,文字コード種別にutf-8_ivsを指定した場合,HiRDBサーバの既定文字集合がIVS対応UTF-8になります。