Symfoware Parallel Server SQLビギナーズガイド
目次 索引 前ページ次ページ

付録A SQLのデータ型と対応するホスト変数のデータ型

SQLのデータ型と対応するCホスト変のデータ型を“表:SQLのデータ型と対応するCホスト変数のデータ型”に示します。

[表:SQLのデータ型と対応するCホスト変数のデータ型]

SQLデータ型

C変数定義

文字列型

CHARACTER(n)

char 変数名[n+1]

CHARACTER VARYING(n)

VARCHAR 変数名[n+1] (注1)

各国語
文字列型

NATIONAL CHARACTER(n)

char CHARACTER SET[IS]NCHAR 変数名[n*2+1]

NATIONAL CHARACTER VARYING(n)

VARCHAR CHARACTER SET[IS]NCHAR 変数名[n*2+1] (注1)

真数型

NUMERIC(p,q)

なし (注2)

DECIMAL(p,q)

なし (注2)

SMALLINT

short 変数名

INTEGER

long 変数名

概数型

REAL

float 変数名

DOUBLE PRECISION

double 変数名

日時型

DATE

char 変数名[11]

TIME

char 変数名[9]

TIMESTAMP

char 変数名[20]

時間隔型

INTERVAL

“表:時間隔型と対応するCホスト変数の データ型”参照

BLOB型

BINARY LARGE OBJECT(n単位)

SQL TYPE IS BLOB(n単位) 変数名 (注3)

ROW_ID

ROW_ID

ROW_ID 変数名

n:長さ、p:精度、q:位取り、単位:K(キロバイト)

注1) 可変長文字型の場合、翻訳時に以下の構造体に展開されます。

struct {

short sqllen;

char sqlvar[n+1];

} 変数名;

注2) NUMERIC型およびDECIMAL型については、ほかの真数型および概数型で

代用できます。ただし、精度および位取りに注意が必要です。

注3) BLOB型の場合、翻訳時に以下の構造体に展開されます。

struct {

long 変数名_reserved;

unsigned long 変数名_length;

char 変数名_data[n*1024];

} 変数名;

時間隔型と対応するCホスト変数のデータ型を“表:時間隔型と対応するCホスト変数のデータ型”に示します。

[表:時間隔型と対応するCホスト変数のデータ型]

時間隔型

C変数定義

年月型

INTERVAL YEAR[(n)] TO MONTH

char 変数名[n+5]

INTERVAL YEAR[(n)]

char 変数名[n+2] long 変数名 (注)

INTERVAL MONTH[(n)]

char 変数名[n+2] long 変数名 (注)

日時型

INTERVAL DAY[(n)] TO HOUR

char 変数名[n+5]

INTERVAL DAY[(n)] TO MINUTE

char 変数名[n+8]

INTERVAL DAY[(n)] TO SECOND

char 変数名[n+11]

INTERVAL DAY[(n)]

char 変数名[n+2] long 変数名 (注)

INTERVAL HOUR[(n)] TO MINUTE

char 変数名[n+5]

INTERVAL HOUR[(n)] TO SECOND

char 変数名[n+8]

INTERVAL HOUR[(n)]

char 変数名[n+2] long 変数名 (注)

INTERVAL MINUTE[(n)] TO SECOND

char 変数名[n+5]

INTERVAL MINUTE[(n)]

char 変数名[n+2] long 変数名 (注)

INTERVAL SECOND[(n)]

char 変数名[n+2] long 変数名 (注)

n:桁数(1~9)

注) 位取り0の真数型が指定可能なので、以下のデータ型も指定できます。

short 変数名 ( n<5の場合 )

SQLのデータ型と対応するCOBOLホスト変のデータ型を“表:SQLのデータ型と対応するCOBOLホスト変数のデータ型”に示します。

[表:SQLのデータ型と対応するCOBOLホスト変数のデータ型]

SQLデータ型

COBOL変数定義

文字列型

CHARACTER(n)

01 変数名 PIC X(n).

CHARACTER VARYING(n)

01 変数名-1. 49 変数名-2 PIC S9({4|9}) {BINARY|COMP}. 49
変数名-3 PIC X(n).

各国語
文字列型

NATIONAL CHARACTER(n)

01 変数名 PIC N(n).

NATIONAL CHARACTER VARYING(n)

01 変数名-1. 49 変数名-2 PIC S9({4|9}) {BINARY|COMP}. 49
変数名-3 PIC N(n).

真数型

NUMERIC(p,q)

01 変数名 PIC S9(p-q)V9(q) DISPLAY [SIGN] {LEADING SEPARATE [CHARACTER]|TRAILING}.

DECIMAL(p,q)

01 変数名 PIC S9(p-q)V9(q) {PACKED-DECIMAL|COMP-3}.

SMALLINT

01 変数名 PIC S9(4) {BINARY|COMP}.

INTEGER

01 変数名 PIC S9(9) {BINARY|COMP}.

概数型

REAL

01 変数名 COMP-1.

DOUBLE PRECISION

01 変数名 COMP-2.

日時型

DATE

01 変数名 PIC X(10).

TIME

01 変数名 PIC X(8).

TIMESTAMP

01 変数名 PIC X(19).

時間隔型

INTERVAL

“表:時間隔型と対応するCOBOLホスト変数の データ型”参照

BLOB型

BINARY LARGE OBJECT(n単位)

01 変数名 SQL TYPE IS BLOB(n単位). (注)

ROW_ID

ROW_ID

01 変数名 ROW_ID.

n:長さ、p:精度、q:位取り、単位:K(キロバイト)

注) BLOB型の場合、翻訳時に以下の構造体に展開されます。

01 変数名.

49 変数名-RESERVED PIC S9(9) USAGE IS BINARY.

49 変数名-LENGTH PIC S9(9) USAGE IS BINARY.

49 変数名-DATA PIC X(n*1024).

時間隔型と対応するCOBOLホスト変数のデータ型を“表:時間隔型と対応するCOBOLホスト変数のデータ型”に示します。

[表:時間隔型と対応するCOBOLホスト変数のデータ型]

時間隔型

COBOL変数定義

年月型

INTERVAL YEAR[(n)] TO MONTH

01 変数名 PIC X(n+4).

INTERVAL YEAR[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

INTERVAL MONTH[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

日時型

INTERVAL DAY[(n)] TO HOUR

01 変数名 PIC X(n+4).

INTERVAL DAY[(n)] TO MINUTE

01 変数名 PIC X(n+7).

INTERVAL DAY[(n)] TO SECOND

01 変数名 PIC X(n+10).

INTERVAL DAY[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

INTERVAL HOUR[(n)] TO MINUTE

01 変数名 PIC X(n+4).

INTERVAL HOUR[(n)] TO SECOND

01 変数名 PIC X(n+7).

INTERVAL HOUR[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

INTERVAL MINUTE[(n)] TO SECOND

01 変数名 PIC X(n+4).

INTERVAL MINUTE[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

INTERVAL SECOND[(n)]

01 変数名 PIC X(n+1). 01 変数名 PIC S9(9) {BINARY|COMP}. (注)

n:桁数(1~9)

注) 位取り0の真数型が指定可能なので、以下のデータ型も指定できます。

01 変数名 PIC S9(n) DISPLAY [SIGN] {LEADING SEPARATE [CHARACTER]|TRAILING}. 01 変数名 PIC S9(n) {PACKED-DECIMAL|COMP-3}.

01 変数名 PIC S9(4) {BINARY|COMP}. ( n<5の場合 )


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006