【问题标题】:How can I limit the display length of a field returned in DB2 CLP (z/OS)?如何限制 DB2 CLP (z/OS) 中返回的字段的显示长度?
【发布时间】:2013-04-05 15:39:16
【问题描述】:

我是 Unix 黑客,所以我有一个脚本,我想运行一些 SQL 时就运行它。我用我的查询调用 DB2 并将标准输出转储到一个文件中。非常尼安德特人,但它有效。 我有一张桌子,里面有一个 varchar(28672)。该字段从来没有那么长,但 db2 将其格式化为 28k 宽。

很明显,我将查询更改为 select substr(field, 1,100) 以获取字段的开头,这就是它返回的内容,只是前 100 个字符,但它仍然将输出的字段格式化为 28672人物。知道如何将其格式化为数据输出的大小吗?

【问题讨论】:

    标签: db2 format zos


    【解决方案1】:

    DB2 的 CLP 将始终根据列的长度在其输出中返回字段所需的最大数量。

    但是,您可以将字段转换为其他大小的 VARCHAR:

    SELECT CAST(your_field AS VARCHAR(100)) FROM your_table
    

    如果您这样做,您可能希望抑制字符截断警告,您可以使用 CLP 命令UPDATE COMMAND OPTIONS

    UPDATE COMMAND OPTIONS USING w OFF
    

    【讨论】:

    • 你是个小天才。谢谢。
    • 太棒了!奖励:使用SELECT CAST(your_field AS VARCHAR(100)) as your_field FROM your_table 保留列名。
    猜你喜欢
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多