为什么select next_day(sysdate,2) from dual返回的是2011-10-31 16:55:06?

解决方案 »

  1.   

    NEXT_DAY(d,number)   --◎ 时间点d开始,下一个星期几的日期   --◎ 星期日 = 1  星期一 = 2  星期二 = 3   --   星期三 = 4  星期四 = 5  星期五 = 6  星期六 = 7  
      

  2.   

    next_day(sysdate, 2) 是下一个星期一是哪一天今天是 2011-10-26,星期三,下一个星期一就是下周一,也就是 2011-10-31,没有错呀
      

  3.   

    next_day(sysdate, 2) 就是sysdate所在的周的下一周的星期一,因为2表示是星期一。假入 sysdate = 2011-10-26 16:54:56
    那么 next_day(sysdate, 2) = 下周的周一 为 2011-10-31 16:54:56
      

  4.   

    当然,如果想取下一个星期一的日期,这样写也可以:
    select next_day(sysdate, 'Monday') from dual; 
      

  5.   

    是的,这样的结果是没错。
    因为在美国或英国等西方国家,星期日是一周的第一天。
    所以 next_day(sysdate,2) 会返回系统时间的下周第二天的日期时间,也就是下星期一的时间,