如何确定 SQL 查询表达式的数据类型

How to determine datatype of SQL query expression

我需要将查询的输出传递给我的 Datastage 作业,后者将进一步处理它。问题是我在 SQL 查询中使用了类型转换和计算,DataStage 需要知道输入列的确切数据类型。

更简单的方法是猜测列类型,例如:将其转换为 INT 但有时它是 INT64,然后我必须更改它,所以我正在寻找可靠的东西来节省我的时间。

更像是结果集的元数据。

这取决于您执行查询的方式。

在 DB2 命令行处理器中,您可以使用 command DESCRIBE SELECT <the rest of your query> 打印结果集列的列表及其数据类型。

在批处理脚本中,您可以解析 DESCRIBE 的输出。

在 CLI 或嵌入式 SQL 应用程序中,您可以使用相应的 DESCRIBE OUTPUT statement 将结果集元数据检索到 SQLDA 结构中。

这假定 DB2 用于 LUW,但是 DB2 支持 z/OS 和 IBM i (AS/400) 以及 DESCRIBE 语句。