在ORACLE中,date型时间格式,时间的精确粒度只到了 秒 ,格式:yyyy-mm-dd hh24:mi:ss ,而对于更细粒度的毫秒级别,就使用到了timestamp,示例如下:

1.查询一个系统当前时间戳:

SELECT SYSTIMESTAMP FROM DUAL;

2.查询一个系统当前时间:

   SELECT SYSDATE FROM DUAL;

3.date 转 timestamp

-- 方式1:
select to_timestamp(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual;
-- 方式2:
select cast(sysdate as timestamp) from dual;

4.timestamp 转 date

-- 方式1:
select to_date(to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual;
-- 方式2:
select  systimestamp+0 from dual;

5.字符串 转 timestamp

select to_timestamp(  '2021-03-23 10:10:10.123', 'yyyy-mm-dd hh24:mi:ss.ff') from dual;

6.timestamp 转 字符串

select  to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss')  from dual;

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐