背景
由于最近两天在做一些数据统计分析,经常用到oracle数据库中一些日期操作,现在重新整理一下。
--获取当前日期
select sysdate from dual;
--获取昨天日期
select sysdate - 1 from dual;
--获取明天日期
select sysdate + 1 from dual;
--获取当前日期时间戳(秒级别)
select (sysdate - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400
from dual;
--秒级别时间戳转换成日期
select TO_CHAR(1536656866 / (60 * 60 * 24) +
TO_DATE('1970-01-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'),
'yyyy-mm-dd hh24:mi:ss')
from dual;
--获取当前日期时间戳(毫秒级别)
select (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 +
TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF'))
from dual;
--毫秒级别时间戳转换成日期
select TO_CHAR(1536657264670 / (60 * 60 * 24 * 1000) +
TO_DATE('1970-01-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'