暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE日期类型和转换

原创 Dale 2024-11-12
182

1、如何取当前时间

sysdate  --返回当前系统日期和时间,精确到秒
systimestamp  --返回当前系统日期和时间,精确到毫秒
select sysdate from dual;
select systimestamp from dual;

2、日期运算

两个日期的间隔时间,可以直接把两个日期相减,返回的单位为天,小时及分秒会换算成小数
select sysdate-date'2023-11-13' from dual;
select date'2023-11-16'-date'2023-11-13'  from dual;

3、时间转换

将字符转换成日期
01、date格式

select to_date('date_col','YYYY-MM-DD HH24:MI:SS') date_col from table;
举个栗子:
select to_date('2023-11-16 10:30:01','YYYY-MM-DD HH24:MI:SS') from dual;

02、timestamp

select to_timestamp('timestamp_col','YYYY-MM-DD HH:MI:SS.FF6') timestamp_col from table;
举个栗子:
select to_timestamp('1999-12-01 11:00:00.123456','YYYY-MM-DD HH:MI:SS.FF6')  from dual;

格式化date转字符格式

select to_char(column01,'YYYY-MM-DD HH24:MI:SS') column01 from table;
举个栗子:
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

TO_CHAR的其它用法示例

SELECT TO_CHAR(date '2023-11-16', 'D') 周第几天,
TO_CHAR(date '2023-11-16', 'DD') 月第几天, 
TO_CHAR(date '2023-11-16', 'DDD') 年第几天,
TO_CHAR(date '2023-11-16', 'DAY') 星期几,
TO_CHAR(date '2023-11-16', 'w') 月第几周, 
TO_CHAR(date '2023-11-16', 'ww') 年第几周
FROM DUAL;

timestamp 转 date

oracle timestamp'16-3月 -22 12.53.06.099000 下午' 转date '2022-03-16 12:53:06'
select to_char(cast(cast('16-3月 -22 12.53.06.099000 下午' as timestamp) as date),'yyyy-mm-dd hh24:mi:ss') dr from dual 

image.png

date 转 timestamp

select to_timestamp('2017-09-26 18:46:00','yyyy-mm-dd hh24:mi:ss') from dual;

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论