Delimiter オプション
フィールドの区切り文字を指定します。
列の区切り文字は常にLatin-9エンコーディングで表現される。 したがって、区切り記号は常に1バイトである。
hex dec octal
--- --- -----
x01 001 <001>
to xFF 255 <377>
<NUL>にはできない。例えば、バイナリ '
<000>。- 数字ではありえない。
例えば、0から9まで。
- 以下の値のいずれかとして使用される区切り文字とは一致しない:
- レコードの区切り文字
一般的に、'
<NL>. - 日付の区切り文字
- デシマルデリミタ
- 時間区切り記号
- レコードの区切り文字
hex dec octal
--- --- -----
x01 001 <001>
to x7F 127 <177>
デフォルトはパイプ文字 ('|') です。 ただし、nzload コマンドの場合は例外です。 このコマンドの場合、デフォルトは '¥t' (タブ) です。 固定長形式の場合、このオプションはサポートされていません。
システムは、行内の連続するフィールドを特定することによって、入力行を処理します。 隣接するフィールドが 1 文字フィールド区切り文字によって区切られます。 フィールド間にフィールド区切り文字がないとエラーになります。 行の最後のフィールドに続くフィールド区切り文字を使うこともできるが、必須ではない。
- 数値
- 0xNN または NN (NN は 16 進数または 10 進数のいずれかの数値)。
- 制御文字
- ^A から ^Z まで (下位 5 ビット) および ^a から ^z まで (下位 5 ビット)。
- シンボル
- ¥b (バックスペース; ASCII 値 8)、¥t (水平タブ; ASCII 値 9)、¥n (ライン・フィード; ASCII 値 10)、¥f (フォーム・フィード; ASCII 値 12)、¥r (キャリッジ・リターン; ASCII 値 13)、¥¥ (円記号)、¥' (引用符)、¥" (二重引用符)。
- リテラル
- 任意の文字、例えばc(制御文字でない文字 c)。
引用符で囲んだ値(たとえば「Delimiter '|')または引用符で囲んでいない10進数(たとえば「Delimiter 124)を使用することで、7ビットASCII範囲の文字を指定できます。127より大きいバイト値を指定するには、10進数を使用します。
7 ビット ASCII 文字以外の文字を区切り文字として使用するには、この文字を 10 進数または 16 進数として指定します。 文字リテラルを使用すると、エンコーディング変換でエラーが発生することがあるので、 これは指定しないでください。 例えば、16 進値 0xe9 (Latin9 の é) を区切り文字として使用するには、Delimiter 0xe9 を使用します。 Delimiter 'é' は使用しないでください。
システムは英数字も受け入れますが、あいまいさを避けるため、フィールド中のデータと競合する区切り文字は選択しないでください。 DateDelim、'TimeDelim、'DateTimeDelim、または'MeridianDelimオプションで、オプションごとに異なる区切り文字を選択する。も使用する場合。
nzload コマンドを使用する場合、コマンド行にエスケープ文字 (¥b など) を入力することができます。 nzload コマンドの場合のデフォルトは、'¥t' (タブ) です。 CREATE EXTERNAL TABLE コマンドを使用する場合、指定できる特殊文字は ¥t または "¥t" のみです。