PL / SQL sysdate为以ms为单位的Unix纪元时间(PL/SQL sysdate to Unix epoch time in ms)

编程入门 行业动态 更新时间:2024-10-27 16:30:15
PL / SQL sysdate为以ms为单位的Unix纪元时间(PL/SQL sysdate to Unix epoch time in ms)

我有一堆Oracle sysdate值需要转换为以ms为单位的Unix纪元时间。

例如,具有值的变量

15-MAR-13

应转换为

1363351108398

在PL / SQL中

怎么会那样做?

I have bunch of Oracle sysdate values which need to be converted to Unix epoch time in ms.

For example variable that has value

15-MAR-13

should convert to

1363351108398

in PL/SQL

How would one do that ?

最满意答案

您可以使用此功能。 它还考虑时区,因为Unix epoche是1970-01-01 00:00:00 UTC!

CREATE OR REPLACE FUNCTION GetEpoche(theTimestamp IN TIMESTAMP, timezone IN VARCHAR2 DEFAULT SESSIONTIMEZONE) RETURN NUMBER DETERMINISTIC IS timestampUTC TIMESTAMP; theInterval INTERVAL DAY(9) TO SECOND; epoche NUMBER; BEGIN timestampUTC := FROM_TZ(theTimestamp, timezone) AT TIME ZONE 'UTC'; theInterval := TO_DSINTERVAL(timestampUTC - TO_TIMESTAMP('1970-01-01', 'YYYY-MM-DD') ); epoche := EXTRACT(DAY FROM theInterval)*24*60*60 + EXTRACT(HOUR FROM theInterval)*60*60 + EXTRACT(MINUTE FROM theInterval)*60 + EXTRACT(SECOND FROM theInterval); RETURN ROUND(1000*epoche); END GetEpoche;

You can use this function. It also considers the time zone, because Unix epoche is 1970-01-01 00:00:00 UTC!

CREATE OR REPLACE FUNCTION GetEpoche(theTimestamp IN TIMESTAMP, timezone IN VARCHAR2 DEFAULT SESSIONTIMEZONE) RETURN NUMBER DETERMINISTIC IS timestampUTC TIMESTAMP; theInterval INTERVAL DAY(9) TO SECOND; epoche NUMBER; BEGIN timestampUTC := FROM_TZ(theTimestamp, timezone) AT TIME ZONE 'UTC'; theInterval := TO_DSINTERVAL(timestampUTC - TO_TIMESTAMP('1970-01-01', 'YYYY-MM-DD') ); epoche := EXTRACT(DAY FROM theInterval)*24*60*60 + EXTRACT(HOUR FROM theInterval)*60*60 + EXTRACT(MINUTE FROM theInterval)*60 + EXTRACT(SECOND FROM theInterval); RETURN ROUND(1000*epoche); END GetEpoche;

更多推荐

本文发布于:2023-07-31 08:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1342568.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:纪元   单位   时间   sysdate   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!