【问题标题】:BTEQ query not returning all the columnsBTEQ 查询未返回所有列
【发布时间】:2021-05-06 13:34:46
【问题描述】:

我正在创建一个 unix 脚本以一次性获取表中每一列的空计数(使用 BTEQ)。我的查询是这样的: select count() - count(column_name1), count() - count(column_name2).... from table_name; 查询返回 1 行和编号。具有空计数的列。我在一张表中有 900 多列。但是在 BTEQ 中运行时,查询不能只返回 818 列。是否有任何解决方案可以返回所有列并将计数存储在文件中。

【问题讨论】:

  • 您是否尝试过使用RETLIMIT?我以前没有将它用于列,但它似乎可以工作,除非你遇到其他一些系统限制。尝试将其添加到 bteq 脚本的开头:.SET RETLIMIT * *; 这应该返回最大行数/列数。 docs.teradata.com/reader/jmAxXLdiDu6NiyjT6hhk7g/…
  • 需要提供有关您正在尝试的内容和想要实现的目标的更多信息。设置了哪些控件,特别是输出的 WIDTH?您是将计数发送到 STDOUT 还是 BTEQ EXPORT(如果是,是什么格式)?

标签: unix teradata


【解决方案1】:

使用以下 SET 命令查看 Bteq 控制台中的列

$ bteq

 Enter your logon or BTEQ command:
.logon $HOST/$USER
Password: $PASS

.Set Format off
.Set Recordmode off
.Set Echoreq on
.Set Separator '|'
.width 3000
.Set Titledashes on


SELECT * FROM <DB>.<TABLE>;

【讨论】:

  • .Set Format off .Set Recordmode off .Set Echoreq on .Set Separator '|' .width 200 .Set Titledashes on
【解决方案2】:

.设置格式关闭 . 关闭记录模式 .设置Echoreq .设置分隔符'|' .width 200 .设置标题破折号

更改为 200 不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2013-03-19
    • 2019-05-01
    相关资源
    最近更新 更多