我有一个日期时间字段(P_DT),我想返回所有结果,其中P_DT大于输入unix时间戳。
Oracle是否有任何可以提供帮助的内置函数?
在我的搜索中,我找到了DateTime到Unix的resuts但没有Unix到DateTime ...
答案 0 :(得分:13)
没有内置功能。但写一个相对容易。由于Unix时间戳是自1970年1月1日以来的秒数
CREATE OR REPLACE FUNCTION unix_ts_to_date( p_unix_ts IN NUMBER )
RETURN DATE
IS
l_date DATE;
BEGIN
l_date := date '1970-01-01' + p_unix_ts/60/60/24;
RETURN l_date;
END;
你可以看到被称为
SQL> select unix_ts_to_date( 1336822620 ) from dual;
UNIX_TS_TO_DATE(133
-------------------
2012-05-12 11:37:00
答案 1 :(得分:0)
我最后用过这个......
date=unixtimestamp number
to_date(\'1970-01-01\',\'YYYY-MM-DD\') + numtodsinterval('.$_GET["date"].',\'SECOND\')