在oracle里有这样一个函数next_day可以得到下一个日子的日期,
例如:NEXT_DAY(TRUNC(SYSDATE),'SATURDAY')可以得到下个星期六的日期,你可以利用这个函数从上一年的12月31号起寻找下一个星期六的日期,然后循环再下一周,知道日期大于本年的12月31日就把全年的星期六都找出来了。

解决方案 »

  1.   

    select mydate from
    (select rownum r,trunc(sysdate,'ww')+rownum - 2 mydate  
    from user_tables
    where rownum<=7)
    where r = 7
    order by mydate desc;
      

  2.   

    很简单:
    select trunc(sysdate,'d')+6 from dual;
    trunc(date,'d')表示周一,周末函数用 trunc(date,'d')+6 就行了,OK?
      

  3.   

    可以用DATEPART(week,date) = 6判断date是否周六,更好的方法再想
      

  4.   

    错了,是
    DATEPART(weekday,date) = 6
      

  5.   

    sql server 正在学,函数不清楚,不过原理应该差不多,用这些函数循环往复的吧要查的日期范围都查一遍就可以了。