代码之家  ›  专栏  ›  技术社区  ›  Cade Roux

从teradata以制表符分隔的形式生成自动导出的最佳方法?

  •  1
  • Cade Roux  · 技术社区  · 14 年前

    我希望能够通过运行一个命令或批处理来生成一个文件,该命令或批处理基本上导出一个表或视图(从tbl中选择*号)、文本格式(日期、数字等的默认文本转换可以)、制表符分隔、空字段转换(即空列没有制表符之间的空格,有适当的行终止符(CRLF或窗口),最好也有列标题。

    这是我在SQL助手12.0中可以得到的相同导出,但选择导出选项,使用制表符分隔符,将空值设置为“”,并包括列标题。

    我一直找不到正确的选项组合-我得到的最接近的是用cast和'09'xc构建一个列,但是在我尝试过的大多数设置中,行仍然有一个前导的2字节长度指示器。我不希望为不同的表构建大型字符串。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Cade Roux    14 年前

    要消除FastExport输出中的2字节:

    .EXPORT OUTFILE &dwoutfile MODE RECORD FORMAT TEXT;
    

    你的选择 必须 生成固定长度导出字段,例如 字符(n) . 因此,您将膨胀文件的大小,并最终得到一个分隔但固定长度的导出文件。

    另一个选项是,如果您在unix/linux环境中,您可以对文件进行后处理,去掉前面的两个字节,或者在c中编写asxmod,以便在记录流式传输到文件时执行此操作。