スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
-W fixtextオプションを指定して,固定長データ形式の入力データファイルを生成する場合,出力データについての情報を指定します。
- <適用基準>
- 固定長データ形式の入力データファイルを生成する場合(-W fixtextオプションを指定する場合),出力データを編集するときに指定します。
- <規則>
- fixtext_option文は一つだけ指定できます。
- オペランドを二つ以上指定する場合,オペランド間を空白文字(0x20)で区切ってください。
- オペランドの指定がない場合,fixtext_option文は指定しないでください。
- <この項の構成>
- (1) 形式
- (2) 説明
fixtext_option 〔cntlcode={nocheck|check|replace〔,置き換え文字〕}〕
〔enclose=囲み文字〕
〔format=データ型,出力形式〕
|
(a) cntlcode={nocheck|check|replace〔,置き換え文字〕}
データ型が文字データ型,各国文字データ型,及び混在文字データ型の場合,文字データ中に制御文字(ASCIIコード0x00〜0x1f)を含む列があるときの,データ出力の制御方法を指定します。
- nocheck:
- 制御文字があるかどうかをチェックしないで,DB中の列データをそのまま出力します。DB中の列データをそのまま出力する場合に指定します。
- check:
- 制御文字があるかどうかをチェックします。列データ中に制御文字が含まれている場合,該当行はアンロードデータファイルに出力しません。制御文字を含む行の出力を抑止したい場合に指定します。
- replace[,置き換え文字]:
- 制御文字があるかどうかをチェックします。列データ中に制御文字が含まれている場合,制御文字を置き換え文字に変換し,該当行をアンロードデータファイルに出力します。列データ中に制御文字があっても,テキストビューアなどで参照できる形式で出力する場合に指定します。
- 置き換え文字は,1バイトの文字で指定してください。
- <置き換え文字の指定規則>
- 置き換え文字を省略した場合,コロンが仮定されます。
- 次の文字は,置き換え文字に指定できません。
空白,タブ,アスタリスク,下線
- 次の文字は,出力データのコードと重なる可能性があるため,置き換え文字には適していません。
・出力データ中にある文字
・数値データの符号(+,−)
・マルチバイト文字に文字コードが重なる文字(|,¥,[,],(,),{,}, ̄)
・日間隔,時間隔,及び時刻印データのハイフン
・時間,及び時刻印データのコロン
・数値,日間隔,時間隔,及び時刻印データのピリオド
- <cntlcodeオペランドの規則>
- cntlcodeオペランド,又はfixtext_option文を省略した場合,cntlcode=nocheckが仮定されます。
- cntlcodeオペランドは,fixtext_option文中に一つだけ指定できます。
- 列データ中の制御文字有無,及びcntlcodeオペランドの指定値と,pdrorgの動作の関係を次に示します。
条件 |
pdrorgの動作 |
列データ中の制御文字有無 |
cntlcodeオペランドの指定値 |
制御文字のチェック |
データ出力方法 |
あり |
check |
○※ |
該当する行を出力しないで処理を続行します(pdrorgはリターンコード4で正常終了します)。 |
replace |
制御文字を置き換えて出力します。 |
nocheck |
× |
DB中のデータをそのまま出力します。 |
なし |
check |
○※ |
DB中のデータをそのまま出力します。 |
replace |
nocheck |
× |
- (凡例)
- ○:制御文字をチェックします。
- ×:制御文字をチェックしません。
- 注※
- 1バイト文字をチェックします。マルチバイト文字はチェックしません。
(b) enclose=囲み文字
列データの前後に囲み文字を付ける場合,データを区別するために1バイトの囲み文字を指定します。囲み文字の規則については,cntlcodeオペランドの置き換え文字と同じです。
- <適用基準>
- 列データの前後に囲み文字を付けたい場合に指定します。また,可変長文字列(文字データ型,各国文字データ型,及び混在文字データ型)の列データ長が定義長より短い場合,又はナル値の場合,定義長までパディング文字(デフォルトでは空白文字)を埋めます。そのため,列データ長が0バイトの場合は,0バイト文字データ,ナル値データ,及び空白文字だけのデータの区別ができません。このような場合にencloseオペランドを指定すると,データに囲み文字が付くため,これらを区別できるようになります。
- データ型がvarchar(8),パディング文字が空白文字の場合の,データ出力例を次に示します。
データ |
出力されるデータ |
encloseオペランドなし |
enclose=" |
0バイト文字 |
△△△△△△△△ |
""△△△△△△△△ |
ナル値 |
△△△△△△△△ |
△△△△△△△△△△ |
すべて空白文字 |
△△△△△△△△ |
"△△△△△△△△" |
- (凡例)
- △:空白文字
- <encloseオペランドの規則>
- encloseオペランドは,fixtext_option文中に一つだけ指定できます。
- encloseオペランドを指定した場合の囲み文字の有無を次に示します。
列のデータ型 |
列のデータ値 |
囲み文字の有無 |
CHAR,VARCHAR,NCHAR,NVARCHAR,MCHAR,及びMVARCHR |
ナル値 |
囲み文字は付きません(囲み文字ではなく,パディング文字が付きます)。※ |
実値 |
囲み文字が付きます。※ |
上記以外 |
ナル値 |
囲み文字は付きません。 |
実値 |
- 注※
- 出力長が2バイト増加します。
(c) format=データ型,出力形式
列データの出力形式を変更する場合に指定します。変更できるデータ型はINTEGER及びSMALLINTです。
- データ型:
- 出力形式を変更する列又はパラメタ(コンストラクタパラメタ逆生成関数)のデータ型を指定します。integer又はsmallintを指定してください。
- <規則>
- データ型の指定値には,同じデータ型を複数指定できません。
- 指定したデータ型の列が表にない場合,指定が無視されます。
- 出力形式:
- データ型の出力形式を指定します。type1又はtype2を指定してください。
- 省略した場合,type1が仮定されます。なお,INTEGER及びSMALLINT以外のデータ型の場合,type1となります。
- type1,及びtype2については,「8.3.3(3)(a)出力形式」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.