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

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

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




