1. 程式人生 > >Oracle 獲取當前周的星期一方法

Oracle 獲取當前周的星期一方法

SELECT

       CASE to_number(to_char(to_date('2010-01-11','yyyy-MM-dd'),'D'))

       WHEN 7 THEN to_date('2010-01-11','yyyy-MM-dd')-5

       WHEN 6 THEN to_date('2010-01-11','yyyy-MM-dd')-4

       WHEN 5 THEN to_date('2010-01-11','yyyy-MM-dd')-3

       WHEN 4 THEN to_date('2010-01-11','yyyy-MM-dd')-2

       WHEN 3 THEN to_date('2010-01-11','yyyy-MM-dd')-1

       WHEN 2 THEN to_date('2010-01-11','yyyy-MM-dd')

      ELSE to_date('2010-01-11','yyyy-MM-dd')-6          

      END                          

 AS curmon FROM dual;

SELECT

decode(to_char(trunc(to_date('2007-01-17','yyyy-MM-dd'),'YEAR'),'D'),

           '2',trunc(to_date('2007-01-17','yyyy-MM-dd'),'YEAR'),

             next_day(trunc(to_date('2007-01-17','yyyy-MM-dd'),'YEAR'),2)

 )

+

(SELECT to_number(to_char(to_date('2007-01-17','yyyy-MM-dd'),'iw')) from dual

)*7-7 

as curMon FROM dual;