移植Oracle日期操作

时间:2010-04-26 17:17:50

标签: sql database oracle postgresql

我需要将以下内容从Oracle语法移植到Postgresql。

FLO_END_DT和FLO_START_DATE在Oracle中都是DATE类型,在Postgresql中是TIMESTAMP WITHOUT TIME ZONE:

SELECT TRUNC( TO_CHAR(ROUND(( FL.FLO_END_DT- FL.FLO_START_DT)* 24), '9999D99'), 2)
 FROM FLOWS FL

我对甲骨文不太熟悉,不知道它想要完成什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

小时数。

END_DATE-START_DATE将给出天数,乘以24会将其变为小时。

然后四舍五入,结果显示为9999.99(但由于四舍五入,小数点后面的位总是为零)。

最后,TRUNC将隐式转换回数字,因为TRUNC对字符串没有意义。

任何将这些混乱放在一起的人都应该被取出并且&%@($ ^