在 SELECT 语句中添加换行字段

您可以使用外部表卸载在您内部表中的换行符。

要添加行结束符,请从含有换行符的表中查询最终值,如下所示:

  1. 创建一个只包含换行字符的文件。
    echo "" > /tmp/cr.fixed
  2. 创建一个存储该换行值的内部表,在卸载数据时使用该表。
    CREATE TABLE dummyCr (cr CHAR(1)); 
  3. 创建外部表以卸载换行值。
    CREATE EXTERNAL TABLE x_cr (cr CHAR(1) EXTERNAL CHAR(1)) 
    USING (DATAFILES ("DISK:/tmp/cr.fixed"), FORMAT 'FIXED');
  4. 加载该外部表到内部表 dummyCr 中。
    INSERT INTO dummyCr SELECT * FROM x_cr;

该内部表,dummyCr ,现在包含一个行结束符,您可以在 SELECT 语句中既使用它进行卸载。

  1. 要将内部表的数据卸载到外部表,请创建带有行结束符 EXTERNAL CHAR 的外部表。
    CREATE EXTERNAL TABLE sample_ext 
            (
            lastname CHAR(10) EXTERNAL CHAR(10),
            firstname CHAR(10) EXTERNAL CHAR(10),
            dateofbirth DATE EXTERNAL CHAR(12),
            eol CHAR(1) EXTERNAL CHAR(1)) 
            USING (DATAFILES ....), FORMAT 'FIXED');
  2. 将从内部表和 dummyCr 表的查询用于创建拥有被行结束符分隔的行的输出文件。
    INSERT INTO sample_ext(lastname, firstname, dateofbirth, eol)
                SELECT a.lastname, a.firstname, a.dateofbirth, b.cr
                FROM mytable a, dummyCr b;