使用unix从teradata中获取一行中的所有数据

Fetching all data in a row from teradata using unix

我正在尝试使用 unix 在 teradata 中获取一行中的所有数据

我没有连续获取所有数据。每行仅将一半数据导出到 txt 文件

我正在使用

bteq <<EOF
.logmech ldap
.logon IP/user_name,password
.EXPORT REPORT FILE=test.txt
    .SET RECORDMODE OFF;
    .SET WIDTH 65531;
.Set Titledashes off;

 select requesttext(title '') from abc.tb 


.export reset; 
.LOGOFF;
.EXIT;
EOF

我已经使用了最大宽度,但我仍然无法获取整行,它只获取了该行的一半。 我的每一行都有大量数据

以上案例已在 bteq 上进行了模拟,以下是结果。

如果列定义有 FORMAT 'X(255)' 子句,则仅导出前 256 个字符,否则导出所有数据。

Sample Scenario

场景 1: Table 有一行包含 1017 个字符。仅导出前 255 个字符。

Table定义如下

CREATE SET TABLE abc ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      c1 VARCHAR(12500) CHARACTER SET UNICODE NOT CASESPECIFIC FORMAT 'X(255)')
PRIMARY INDEX ( c1 );

场景 2: Table 有一行包含 1017 个字符。整行被导出。

Table定义如下

CREATE SET TABLE abcd ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      c1 VARCHAR(12500) CHARACTER SET UNICODE NOT CASESPECIFIC)
PRIMARY INDEX ( c1 );

我找到了问题的答案

我用过

select requesttext (format 'x(12500)')(title '') from abc.tb

现在正在获取所有数据

感谢大家的回复