oracle 日期计算

来源:互联网 发布:java 单例模型 编辑:程序博客网 时间:2024/05/19 12:12

--计算当前日期的上周时间段

select (trunc(sysdate-7,'DD')-to_char(sysdate-7,'D')+1) as last_week_start_date,(trunc(sysdate-7,'DD')-to_char(sysdate-7,'D')+7) as last_week_end_date from dual

 

--根据年、月、周、星期计算日期

CREATE OR REPLACE FUNCTION get_date(            y       number,     
            m       number,     
            idx     number,     
            dow     NUMBER    
)return dateIS    v_date      DATE;    v_cnt       NUMBER  := 0;BEGIN    IF idx NOT BETWEEN 1 AND 5 THEN         RETURN NULL;    END IF;    v_date := TO_DATE( y || '-' || m, 'YYYY-MM' ) - 1;    WHILE TRUE LOOP        SELECT  next_day( v_date , dow )        INTO    v_date        FROM    dual ;        v_cnt := v_cnt + 1;        IF idx = v_cnt THEN     EXIT;        END IF;    END LOOP;    RETURN v_date;END;

 

原创粉丝点击