给定个日期,如果该日期为周六或是周日的话,
则取当前日期的前一个周五、即得到当前周的周五的日期,
否则没有变化,返回该日期。
这个的SQL应该怎么写啊?

解决方案 »

  1.   

    select to_char(sysdate - 1,'d') from dual;
    这个是取当前星期,然后再自己判断吧
      

  2.   

    select decode(to_char(&date, 'd'),1,&date-2,7,&date-1,&date) from dual;
    注意自己数据库时间区域的设置
      

  3.   

    select   next_day('18-5月-2001','星期五')   nxt_day   from   dual;   
        
      NXT_DAY   
      ----------   
      25-5月   -01   
      

  4.   

    select decode (to_char(to_date('2007-12-8','YYYY-MM-DD'),'D'),1,to_date('2007-12-8','YYYY-MM-DD'),7,to_date('2007-12-8','YYYY-MM-DD'), next_day(to_date('2007-12-8','YYYY-MM-DD'),6)) from dual
    把日期换成 你的日期,看看对不