17.5.2 入力データの記述規則(CSV形式)
-
表の1行のデータをファイルの1行に記述してください。1行の終わりには改行文字を記述してください。改行コードは,X'0A'(LF),X'0D0A'(CRLF),またはX'00'としてください。
-
ローストア表にデータをインポートする場合,入力データの1行の最大長は512メガバイト(536,870,912バイト)です。512メガバイトを超えると,adbimportコマンドの実行時にファイル入力エラーになります。
-
入力データファイルにEOF制御文字は記述できません。
-
フィールドデータとフィールドデータの間を区切り文字で区切ってください。
-
囲み文字を指定する場合は,区切り文字と囲み文字を連続して指定してください。区切り文字と囲み文字の間に空白があると,空白はデータとして扱われるため,囲み文字の指定エラーになったり,囲み文字を含むデータが格納されたりすることがあります。
-
囲み文字と同じ文字がデータ中にある場合,データの文字を2個連続で記述してください。
(例)アポストロフィ(')が囲み文字で,データにもアポストロフィがある場合
-
データの先頭が囲み文字と同じ文字の場合は,データの文字を2個連続で記述してください。その上で,フィールドデータを囲み文字で囲んでください。
(例)二重引用符(")が囲み文字で,データが「"ABC」の場合
ただし,データの先頭に半角空白またはタブを挿入した場合は,フィールドデータを囲み文字で囲む必要はありません。
-
囲み文字で囲んだ個所は,すべてデータとして扱われます。
-
フィールドデータ中に区切り文字がある場合,フィールドデータ全体を囲み文字で囲んでください。囲み文字で囲まない場合,区切り文字として扱われ,入力データの列数不一致などの結果になります。
囲み文字が二重引用符(")で,区切り文字がコンマ(,)の場合について,例を次に示します。
例1:次の場合は,「1」,「foo,bar」,「3」の3列のフィールドデータとして扱われます。
1,"foo,bar",3
例2:次の場合は,「1」,「foo」,「bar」,「3」の4列のフィールドデータとして扱われます。
1,foo,bar,3
- ■配列型のフィールドデータの記述規則
-
配列型の列に格納される配列型のフィールドデータの記述規則について説明します。
ここでは,基本的な規則を説明しています。そのほかの規則については,「表17‒14 フィールドデータの記述形式」の「配列データ」を参照してください。
-
配列型のフィールドデータは,波括弧({ })で囲み,各配列要素をコンマ(,)で区切ってください。
- (例1)
-
…,{ABC,DEF,XYZ},…
下線部分が配列型のフィールドデータです。
上記の例の場合,配列型の列の各配列要素には,ABC,DEF,XYZが格納されます。
- (例2)
-
…|{ABC,DEF,XYZ}|…
下線部分が配列型のフィールドデータです。
-sオプションを指定して,フィールドデータの区切り文字をストローク(|)に変更した場合でも,各配列要素はコンマ(,)で区切ります。上記の例の場合も,配列型の列の各配列要素には,ABC,DEF,XYZが格納されます。
-
各配列要素を二重引用符(")で囲むこともできます。
- (例)
-
…,{"ABC","DEF","XYZ"},…
上記の例の場合,配列型の列の各配列要素には,ABC,DEF,XYZが格納されます。
各配列要素を囲む二重引用符(")には,囲み文字と同じ規則が適用されます。
-
配列型のフィールドデータは,囲み文字で囲むことを推奨します。配列型のフィールドデータを囲み文字で囲まないと,囲み文字に関するエラーが発生した場合,エラーが発生した個所以降の全フィールドデータがエラーと判定されることがあります。
- (例)囲み文字がアポストロフィ( ' )の場合
-
…,'{ABC,DEF,XYZ}',…
-
配列要素に波括弧({ }),コンマ(,),または改行コードが含まれている場合は,配列要素を二重引用符(")で囲んでください。
- (例)配列要素に波括弧({ })が含まれている場合
-
…,{ABC,"DEF{","{XYZ}"},…
上記の例の場合,配列型の列の各配列要素には,ABC,DEF{,{XYZ}が格納されます。
また,配列要素に二重引用符(")が含まれている場合も,配列要素を二重引用符(")で囲んでください。さらに,配列要素中の二重引用符(")を2個連続で記述してください。
- (例)配列要素に二重引用符(")が含まれている場合
-
…,{ABC,"DE""F","""XYZ"""},…
上記の例の場合,配列型の列の各配列要素には,ABC,DE"F,"XYZ"が格納されます。
-
配列型のフィールドデータ中に区切り文字と同じ文字がある場合,区切り文字と同じ文字は配列要素の一部と見なされます。
- (例)区切り文字がストローク(|)の場合
-
…|{ABC,D|EF,|XYZ|}|…
上記の例の場合,配列型の列の各配列要素には,ABC,D|EF,|XYZ|が格納されます。
-
配列型のフィールドデータ中に囲み文字と同じ文字がある場合の仕様は,次のようになります。
-
配列型のフィールドデータを囲み文字で囲んでいない場合
配列型のフィールドデータ中の囲み文字と同じ文字は,配列要素の一部と見なされます。
- (例)囲み文字がアポストロフィ( ' )の場合
-
…,{AB'C,'DEF',XY''Z},…
上記の例の場合,配列型の列の各配列要素には,AB'C,'DEF',XY''Zが格納されます。
-
配列型のフィールドデータを囲み文字で囲んでいる場合
配列型のフィールドデータ中の囲み文字と同じ文字は,2個連続で記述してください。
- (例)囲み文字がアポストロフィ( ' )の場合
-
…,'{AB''C,''DEF'',XY''''Z}',…
上記の例の場合,配列型の列の各配列要素には,AB'C,'DEF',XY''Zが格納されます。
-
-