【发布时间】:2019-10-16 07:08:11
【问题描述】:
你能帮我解决这个问题吗?如何将以下查询转换为 PostgreSQL。
以下查询在 PostgreSQL 中执行时与在 Oracle 中执行时给出不同的输出。
SELECT
to_char(to_date('01011970','ddmmyyyy') + 1/24/60/60 * 4304052,'dd-mon-yyyy hh24:mi:ss')
from dual;
【问题讨论】:
-
尽量不要用不相关的东西来标记。 C++ 在这里不是一个因素。
-
即使在 Oracle 中,这也是一个糟糕的查询 - 将 数字 添加到日期,然后尝试将其转换为本地化字符串。该数字是根据多个 integer 除法计算得出的,结果是 0,然后是整数乘法,结果也是 0
-
这个查询首先尝试做什么?将 Unix 时间戳转换为实际日期?如果是这样,为什么要在最后产生一个字符串?
-
我已经尝试删除双重但得到不同的价值。
-
o/p postgresql : to_char ---------- 01-jan-1970 00:00:00
标签: sql postgresql