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;