スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

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

5.4.13 extdat文拡張DAT形式の情報の記述)

DAT形式の入力データファイルで,次の拡張機能を使用する場合に指定します。

なお,囲み文字の変更,及びINTEGER,SMALLINTの列への小数点データの格納以外の拡張機能は,オペランドの指定有無に関係なくextdat文を指定すれば使用できます。

 

囲み文字とは,extdat文のencloseオペランドに指定した文字のことをいいます。オペランドを省略した場合は,引用符(")が囲み文字となります。

セパレータ文字の直前,直後のデータの前後を囲み文字で囲んだ場合,囲み文字は入力の対象にはなりません。ただし,囲み文字で囲まれた文字列内の囲み文字は,入力の対象となります。

なお,DAT形式の場合は,引用符が囲み文字となります(囲み文字の変更はできません)。

<適用基準>
入力データファイルがDAT形式で,上記の拡張機能を使用したい場合に指定します。
<この項の構成>
(1) 形式
(2) 説明
(3) 拡張機能の内容

(1) 形式

 
 extdat 〔enclose=囲み文字〕
 
     〔decin={yes|no}〕
 

(2) 説明

(a) enclose=囲み文字

   〜<文字列>((1バイト))

各入力データの列値を囲んでいる囲み文字を指定します。

<規則>
  1. セパレータ文字の直前,直後のデータの前後を囲み文字で囲んでいる場合,その囲み文字は入力の対象にはなりません。
  2. 囲み文字と同じ値をデータとして扱う場合は,その囲み文字を2個連続で記述してください。例えば,アポストロフィ(')が囲み文字の場合は,「''」と2個連続で記述します。
  3. DAT形式と拡張DAT形式では,囲み文字の扱いに違いがあるので注意してください。文字データの入力と囲み文字の扱いについては,「5.5.1 DAT形式の場合」を参照してください。
  4. 次の文字は囲み文字として指定できません。
    ・空白,タブ,アスタリスク(*)
    ・セパレータ文字と同じ文字
  5. シフトJIS漢字コードの場合,次の文字は入力データのコードと重複する可能性があるので,囲み文字には適していません。
    ・入力データファイルのデータにある文字
    ・日本語入力時に文字コードが重なる文字
     ([,\,],^,_,',{,|,}, ̄)
  6. 囲み文字は1バイトのため,2バイトコードは指定できません。
(b) decin={yes|no

INTEGER及びSMALLINTの列に,小数点があるデータを格納するかどうかを指定します。

yes:
小数点があるデータを格納します。
yesを指定した場合,最初の小数点までをデータとして扱い,それ以降は無視してフォーマットのチェックもしません。格納される値は,小数点以下を切り捨てた整数値となります。

no:
小数点があるデータを格納しません。
noを指定した場合,小数点があるデータはINTEGER及びSMALLINTの列には格納しないで,エラーデータとします。

(3) 拡張機能の内容

(a) 文字データ型,各国文字データ型,混在文字データ型,及びBINARY型へのナル文字(0x00),改行記号(0x0a),及び復帰記号(0x0d0a)の入力

文字データ型,各国文字データ型,混在文字データ型,及びBINARY型の入力データが囲み文字で囲まれている場合,入力データ中にあるナル文字(0x00),改行記号(0x0a),及び復帰記号(0x0d0a)をデータとして扱います。囲み文字で囲まれていない場合,ナル文字,改行記号,及び復帰記号はデータの区切り,又は行の終端として扱われます。

例えば,"tokyo\0shibuyaku"というCHAR(16)のデータがあった場合,extdat文を指定すれば「tokyo\0shibuyaku」が入力されますが,extdat文を指定しないとこのデータは入力できません。

(b) 数データ型,日間隔データ型,及び時間隔データ型のデータ型に囲み文字(")が指定されているデータの入力

数データ型,日間隔データ型,及び時間隔データ型の入力データに,囲み文字(")が指定されていてもデータの入力ができます。なお,DAT形式の場合,データの入力はできません。

(c) 数データ型,日付データ型,日間隔データ型,時刻データ型,時間隔データ型,及び時刻印データ型の列の入力データ部の,半角空白及びタブの削除

数データ型,日付データ型,日間隔データ型,時刻データ型,時間隔データ型,及び時刻印データ型の列の入力データ部の,半角空白及びタブを削除します。データがすべて半角空白又はタブの場合については,「5.9 データロード時のナル値,及び既定値」を参照してください。

(d) 囲み文字の変更

encloseオペランドに指定した文字を囲み文字として扱います。

(e) 囲み文字そのものを入力

囲み文字を2個連続して記述すると,1個のデータとして扱います。なお,この規則は,マルチバイトコードも同様です。そのため,外字に割り当てたコードなどが囲み文字と一致した場合,不当に入力データエラーと扱われることがあります。この場合,囲み文字を変更する必要があります。