我需要将查询输出传递给我的Datastage Job,它将进一步处理它。问题是我在SQL查询中使用了类型转换和计算,而DataStage需要知道输入列的确切数据类型。
更简单的方法是猜测列类型,例如:将它CAST到INT 但有时它的INT64然后我必须改变它,所以我正在寻找可靠的东西,这将节省我的时间。
更像是Resultset的元数据。
答案 0 :(得分:1)
这取决于您执行查询的方式。
在DB2命令行处理器中,您可以使用command DESCRIBE SELECT <the rest of your query>
打印结果集列的列表及其数据类型。
在批处理脚本中,您可以解析 queryParseUser.findInBackground(new FindCallback<ParseUser>() {
09-25 01:06:31.092 8413-8413/com.example.nan.spymap E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.nan.spymap, PID: 8413
java.lang.NullPointerException: Attempt to invoke virtual method 'double com.parse.ParseGeoPoint.getLatitude()' on a null object reference
at com.example.nan.spymap.MapActivity$1.done(MapActivity.java:126)
at com.example.nan.spymap.MapActivity$1.done(MapActivity.java:113)
at com.parse.ParseTaskUtils$2$1.run(ParseTaskUtils.java:115)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
的输出。
在CLI或嵌入式SQL应用程序中,您可以使用相应的DESCRIBE OUTPUT
statement将结果集元数据检索到SQLDA结构中。
这假设DB2 for LUW,但DB2 for z / OS和IBM i(AS / 400)也支持DESCRIBE
语句。