8

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

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

4

1 回答 1

10

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

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

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

如果你这样做,你可能想要禁止字符截断的警告,你可以使用 CLP 命令来做到这一点UPDATE COMMAND OPTIONS

UPDATE COMMAND OPTIONS USING w OFF
于 2013-04-05T16:15:58.283 回答