将Oracle的to_date转换为Informix'至今

时间:2014-05-23 11:59:09

标签: oracle informix to-date

我需要将带有TO_DATE函数的WHERE语句从Oracle转换为Informix 10.不幸的是,我无法直接访问Informix实例,只能通过作业管理GUI执行SQL,这样可以通过try-and进行测试 - 非常不方便。

无论如何,在Oracle中它看起来像这样(出于兼容性原因,没有NVL2函数):

select * from mytable
where date_column >= (CASE WHEN date_column is not null THEN to_date('13.02.2014 23:00:00', 'dd.mm.yyyy hh24:mi:ss') ELSE to_date('01.04.2010', 'dd.mm.yyyy') END);

我在这里查看了Informix中的日期符号: http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.gls.doc/glsug62.htm

并想出了这个:

select * from mytable
where date_column >= (CASE WHEN date_column is not null THEN to_date('13.02.2014 23:00:00', '%d.%m.%Y %R:%S') ELSE to_date('01.04.2010', '%d.%m.%Y') END);

对我而言,这看起来是正确的,但Informix服务器对此有另一种看法。

有人能给我一个提示吗?

1 个答案:

答案 0 :(得分:0)

该死的,我在Informix声明中忘记了一个关闭的叛逆者,在上面纠正了它 - 现在它起作用了(self-facepalm)。