【问题标题】:Fetching data from teradata using teradata bteq utility使用 teradata bteq 实用程序从 teradata 获取数据
【发布时间】:2014-07-17 07:31:09
【问题描述】:

我正在使用 Teradata bteq 实用程序从 unix 服务器运行 teradata 命令。

我能够连接到 teradata,但在获取数据时,它只提供 7 列和十进制字段末尾的点 (.)。 我正在使用查询, select * from databasename.tablename

输出 column1(十进制) column2 column3(十进制) 74664. S 67469.

不知道为什么它给出点(。)

有人可以帮忙吗?

【问题讨论】:

    标签: unix automation teradata


    【解决方案1】:

    默认情况下,BTEQ 以 REPORT 格式返回数据,宽度为 75 个字符(这是一个古老的默认值,可能基于大型机终端),当您 EXPORT 时,它是 254。

    您可以通过提交 .SET WIDTH xxx; 65531 来轻松更改此设置。

    关于 DECIMAL,检查定义,它们可能是没有小数部分的 DECIMAL(x,0),并且 DECIMAL 的默认格式始终包括句点。

    如果您想摆脱句号,您必须更改格式,要么在列级别永久更改它,要么使用以下查询:

    ALTER TABLE tab ADD column1 FORMAT '-(i)9'
    or
    SELECT column1 (FORMAT '-(i)9')
    

    【讨论】:

    • 还有一件事,FORMAT '-(i)9' 不能与 select * 一起使用,你能建议 select * 吗
    • A FORMAT 应用于单个列,“SELECT *”将始终使用根据列定义的格式。
    猜你喜欢
    • 2018-05-24
    • 1970-01-01
    • 2010-11-23
    • 2010-11-22
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2015-12-06
    相关资源
    最近更新 更多