分隔符选项

指定字段分隔符。

列分隔符始终使用Latin-9编码。 因此,分隔符总是单字节。

从技术上讲,列分隔符可以是以下范围内的任何字符或数值:
hex     dec     octal
        ---     ---     -----
        x01     001     <001>
   to   xFF     255     <377>
对于列分隔符,请遵守以下限制和约束:
  • 不能是 "<NUL>

    例如,二进制 "<000>.

  • 它不能是一个数字。

    例如,0 至 9。

  • 它不能与用作以下值之一的分隔符匹配:
    • 记录分隔符

      一般来说,"<NL>.

    • 日期分隔符
    • 十进制分隔符
    • 时间分隔符
提示:
如果要将UTF8数据载入 NCHAR 或 NVARCHAR 列,请将分隔符限制在以下范围内。
hex     dec     octal
        ---     ---     -----
        x01     001     <001>
   to   x7F     127     <177>

默认值为管道符( '|'),但'nzload命令除外:对于该命令,默认值为'\t'(制表符)。 固定长度格式不支持该选项。

系统通过识别输入行中的连续字段来处理该行。 单字符字段分隔符可分隔相邻字段。 字段之间缺少字段分隔符是一个错误。 您可以在一行的最后一个字段后使用尾部字段分隔符,但这不是必须的。

您可以指定以下类型的分隔符:
数值
0x、"NN"或 "NN",其中 "NN"是十六进制或十进制数字。
控制字符
^A- ^Z(低阶 5 位)和^a- ^z(低阶 5 位)。
符号
\b(退格;ASCII 值 8),t(水平制表符;ASCII 值 9),n(换行;ASCII 值 10),f(换页;ASCII 值 12),r(回车;ASCII 值 13),反斜线),''(引号),""(双引号)。
字面值
任何字符,如c(非控制字符 c)。

您可以使用带引号的值(例如 "Delimiter '|')或不带引号的十进制数(例如 "Delimiter 124)来指定 7 位 ASCII 范围内的字符。要指定大于 127 的字节值,请使用十进制数。

要使用 7 位 ASCII 字符以外的字符作为分隔符,请将其指定为十进制或十六进制数。 请勿指定字符文字,否则可能导致编码转换错误。 例如,要使用十六进制值0xe9作为分隔符(在Latin9 中为 é),请使用 "Delimiter 0xe9。 请勿使用 "Delimiter 'é'

虽然系统接受字母数字字符,但为避免歧义,请勿选择与字段中数据相冲突的分隔符。 如果您还使用了 "DateDelim、"TimeDelim、"DateTimeDelim或 "MeridianDelim选项,为每个选项选择不同的分隔符。

使用 "nzload命令时,可以在命令行中输入转义字符,如\b。 nzload命令的默认值是"\t"(制表符)。 如果使用 "CREATE EXTERNAL TABLE命令,唯一可以指定的特殊字符是 "\t或 ""\t"