共计 917 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
今天就跟大家聊聊有关如何在 oracle 数据库中获取时间戳的无参函数,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
代码如下所示:
CREATE OR REPLACE FUNCTION GETMSTIMESTAMP
RETURN NUMBER
AS
MSTIMESTAMP NUMBER;
BEGIN
SELECT (SYSDATE-TO_DATE( 1970-1-18 , YYYY-MM-DD HH24)) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), FF )) INTO MSTIMESTAMP FROM DUAL;
RETURN MSTIMESTAMP;
END;
之后再 mapper 文件或者 pl/sql 等工具中用 select GETMSTIMESTAMP() as timestamp from dual;即可使用
获得秒级时间戳:
SELECT (SYSDATE - TO_DATE( 1970-1-1 8 , YYYY-MM-DD HH24)) * 86400 FROM DUAL;
(SYSDATE-TO_DATE( 1970-1-1 8 , YYYY-MM-DDHH24))*86400
-----------------------------------------------------
1167040878
用当前的时间减去 1970 年 1 月 1 日 8 时,得到的天数乘以 24 小时乘以 3600 秒,得到的结果就是系统时间戳。这里用 8 时的原因时系统所处时区为东 8 区。
毫秒级时间戳:
SELECT (SYSDATE - TO_DATE( 1970-1-1 8 , YYYY-MM-DD HH24)) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), FF )) AS MILLIONS FROM DUAL;
看完上述内容,你们对如何在 oracle 数据库中获取时间戳的无参函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。
向 AI 问一下细节
正文完