Oracle学习笔记:date和timestamp相互转换

0.date 和 timestamp 说明

  • date 类型能够存储年、月、日、世纪、时、分、秒,经常使用的格式为:MM/DD/YYYY HH24:MI:SS 或者 MM-DD-YYYY HH24:MI:SS 。date 只能精确到秒,不能精确到秒之内的时间,一般的时间计算足够,但是在时间精度要求较高的场景下,date 类型就有点力不从心。
  • 为了解决 date 类型粒度不够的问题,Oracle 扩展出了 timestamp 时间戳类型,timestamp 类型引入了小数秒的信息。

在 Oracle 中可以使用 sysdate 和 systimestamp 查询当前系统时间、时间戳。

select sysdate from dual;  -- 1	2019/12/24 14:59:37
select systimestamp from dual; -- 1	24-12月-19 03.00.29.523851 下午 +08:00

1.date 转换为 timestamp

date 转换为 timestamp 格式可以使用函数 to_timestamp 进行转换。

select to_timestamp(sysdate) from dual;
-- 1	24-12月-19 12.00.00 上午
select to_timestamp('2019-12-24 14:57:10.1','yyyy-mm-dd hh24:mi:ss.ff') from dual;
-- 1	24-12月-19 02.57.10.100000000 下午

2.timestamp 转换为 date

timestamp + 0

select systimestamp + 0 from dual;
-- 1	2019/12/24 15:01:54

to_char + to_date 方式

select to_char(systimestamp, 'yyyymmdd') from dual;
-- 1	20191224
-- 多加一层 to_date 转化

cast 方式

select cast(systimestamp as date) from dual;
-- 1	2019/12/24 15:03:33

参考链接1:ORACLE中date和timestamp的相互转化

参考链接2:Oracle中date和timestamp之间的转换

posted @   Hider1214  阅读(8128)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示