ORACLE日期数据类型和转换

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、时间转换
将字符转换成日期

01date格式
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;
02timestamp
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;

你可能感兴趣的:(oracle,SQL,oracle,数据库)