你能提供存储函数的实现来获取当前毫秒的systimestamp吗?
一些我可以使用的东西,比如
select current_time_ms from dual;并得到当前时间和1970年1月1日午夜之间的差值,以毫秒为单位。
谢谢。
发布于 2011-08-22 21:29:41
我所知道的最好的事情是:
select extract(day from (systimestamp - timestamp '1970-01-01 00:00:00')) * 86400000
+ extract(hour from (systimestamp - timestamp '1970-01-01 00:00:00')) * 3600000
+ extract(minute from (systimestamp - timestamp '1970-01-01 00:00:00')) * 60000
+ extract(second from (systimestamp - timestamp '1970-01-01 00:00:00')) * 1000 unix_time
from dual;我不太清楚你对时区有什么要求。您可能需要对此进行细微的调整。
发布于 2015-01-24 05:26:27
添加到@Mykhaylo Adamovych答案(看起来是正确的!)这里有一个使用oracle Java支持的更直接的方法(即不是在XE中,也不是在AWS RDS中)。可移植性较差(如果你关心的话),但在我的测试中似乎更快。
CREATE or replace FUNCTION current_java_timestamp RETURN number
AS LANGUAGE JAVA NAME 'java.lang.System.currentTimeMillis() return java.lang.Long';
/发布于 2017-06-21 21:54:01
SELECT to_char(sysdate, 'HH24:MI:SS'), to_char(systimestamp, 'HH24:MI:SS.FF6') FROM dualhttps://stackoverflow.com/questions/7147982
复制相似问题