ald*_*ado 5 sql oracle pentaho kettle to-date
我在外部程序(Pentaho Data Integration(PDI))中使用oracle SQL查询.在继续使用它们之前,我需要将所有列转换为字符串值.
我正在寻找的是自动应用的东西
select to_date(col1), to_date(col2),..., to_date(colN) from example_table;
Run Code Online (Sandbox Code Playgroud)
到所有列,以便您最多可以包装此语句:
select * from example_table;
Run Code Online (Sandbox Code Playgroud)
并自动转换所有列.
解释:我需要这个,因为PDI在获取未发布的DATE列时似乎不能正常工作.由于我有动态查询,我不知道是否存在DATE列,只是想将所有列转换为字符串.
编辑
由于查询各不相同,因为我有一个很长的列表作为输入,我正在寻找一种更通用的方法,而不仅仅是手动编写每列的to_char().
如果您正在寻找 PDI 中的解决方案,则需要创建一个作业 (.kjb),在其中进行 2 次转换。第一个 .ktr将重建查询,第二个 .ktr将执行新查询。
1. 第一次转换:重建查询
select * from example_table;并将行限制为 0 或 1。这里的想法不是获取所有行,而是重新创建查询。此时将自动为您重新创建字段。现在,下一步是使用新查询执行该字段。
2. 第二次转换:在下一步中使用这个设置的变量来得到结果。${NWFIELDNAME}是您在上述转换中使用修改后的列设置的变量。
希望这可以帮助 :)
我已将第一个 ktr 的代码放在gist 中。
| 归档时间: |
|
| 查看次数: |
3296 次 |
| 最近记录: |