我是一个Unix黑客,所以每当我想运行一些SQL时,我就会运行一个脚本.我用我的查询调用DB2并将stdout转储到文件中.非常尼安德特人,但它的确有效.我有一个带varchar(28672)的表.该字段永远不会那么长,但db2将其格式化为28k宽.
显然,我更改了我的查询以选择substr(field,1,100)来获得字段的开头,这就是它返回的内容,只是前100个字符,但它仍然将输出的字段格式化为28672个字符.知道如何使其格式化为数据输出的大小?
CLP for DB2将始终根据列的长度返回其输出中字段所需的最大数量.
但是,您可以将字段转换为另一个大小VARCHAR:
SELECT CAST(your_field AS VARCHAR(100)) FROM your_table
Run Code Online (Sandbox Code Playgroud)
如果这样做,您可能希望禁止字符截断的警告,您可以使用CLP命令执行此操作UPDATE COMMAND OPTIONS:
UPDATE COMMAND OPTIONS USING w OFF
Run Code Online (Sandbox Code Playgroud)