【发布时间】:2015-09-24 19:12:59
【问题描述】:
我需要将查询的输出传递给我的 Datastage 作业,它会进一步处理它。问题是我在 SQL 查询中使用了类型转换和计算,DataStage 需要知道输入列的确切数据类型。
更简单的方法是猜测列类型,例如:CAST it to INT 但有时它是 INT64,然后我必须更改它,所以我正在寻找可靠的东西来节省我的时间。
更像是结果集的元数据。
【问题讨论】:
-
你能举例说明你在做什么吗?
我需要将查询的输出传递给我的 Datastage 作业,它会进一步处理它。问题是我在 SQL 查询中使用了类型转换和计算,DataStage 需要知道输入列的确切数据类型。
更简单的方法是猜测列类型,例如:CAST it to INT 但有时它是 INT64,然后我必须更改它,所以我正在寻找可靠的东西来节省我的时间。
更像是结果集的元数据。
【问题讨论】:
这取决于您执行查询的方式。
在 DB2 命令行处理器中,您可以使用command DESCRIBE SELECT <the rest of your query> 来打印结果集列的列表及其数据类型。
在批处理脚本中,您可以解析DESCRIBE 的输出。
在 CLI 或嵌入式 SQL 应用程序中,您可以使用相应的 DESCRIBE OUTPUT statement 将结果集元数据检索到 SQLDA 结构中。
这假定 DB2 for LUW,但 DB2 for z/OS 和 IBM i (AS/400) 也支持 DESCRIBE 语句。
【讨论】: