oracle日期

1、获取当前日期

sysdate

例:

select  sysdate from dual;

结果:2021/2/20 13:30:53

2、

ORACLE里获取一个时间的年、季、月、周、日的函数
select to_char(sysdate, 'yyyy' ) from dual; --年
select to_char(sysdate, 'MM' ) from dual; --月
select to_char(sysdate, 'dd' ) from dual; --日
select to_char(sysdate, 'Q') from dual; --季

 

 年月日函数
 SELECT
    EXTRACT(YEAR FROM SYSDATE) AS CURRENT_YEAR,
    EXTRACT(MONTH FROM SYSDATE) AS CURRENT_MONTH,
    EXTRACT(DAY FROM SYSDATE) AS CURRENT_DAY
FROM DUAL;

3、

获取上一个月第一天

字符串型:SELECT TO_DATE(TO_CHAR(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1),'yyyy-mm-dd'),'yyyy-mm-dd') FROM dual;

date 型:SELECT TO_DATE(TO_CHAR(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1),'yyyy-mm-dd'),'yyyy-mm-dd') FROM dual;  

获取上一个月最后一天

字符串型:SELECT TO_DATE(TO_CHAR(last_day(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1)),'yyyy-mm-dd'),'yyyy-mm-dd')  FROM dual; 

date 型:  SELECT TO_DATE(TO_CHAR(last_day(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1)),'yyyy-mm-dd'),'yyyy-mm-dd')  FROM dual;

4、星期函数

SELECT   case when  TO_CHAR(SYSDATE, 'DAY') ='星期一' then '周一'
                          when  TO_CHAR(SYSDATE, 'DAY') ='星期二' then '周二'
                          when  TO_CHAR(SYSDATE, 'DAY') ='星期三' then '周三'
                          when  TO_CHAR(SYSDATE, 'DAY') ='星期四' then '周四'
                          when  TO_CHAR(SYSDATE, 'DAY') ='星期五' then '周五' end
AS day_name FROM dual;

 

posted @ 2021-02-20 14:30  一只忙碌的蜗牛  阅读(150)  评论(0)    收藏  举报