如何写一段sql语句,得出一个日期是当月的第几个星期几,也就是判断当天在该月第几次出现?

解决方案 »

  1.   

    SELECT DAY(GETDATE()) / 7 + 1
    把GETDATE()换成你要求的日期即可
      

  2.   

    select datename(weekday,getdate())select datepart(day,getdate())/7+1
      

  3.   

    获取今天是周几
    SELECT DATEPART(dw,GETDATE())获取今天是第几个周几
    SELECT (DAY(GETDATE())-1) / 7 + 1  
      

  4.   

    create table tb(日期 datetime)
    insert into tb select '2008-06-15'
    insert into tb select '2008-06-16'
    insert into tb select '2008-06-17'
    insert into tb select '2008-06-18'
    insert into tb select '2008-06-19'
    insert into tb select '2008-06-20'
    insert into tb select '2008-06-21'
    insert into tb select '2008-06-22'
    insert into tb select '2008-06-23'
    insert into tb select '2008-06-24'
    insert into tb select '2008-06-25'select *,
    日期='第'+ltrim((datepart(dd,日期)-(datepart(dw,日期)+@@datefirst-1)%7)/7)+'周 星期'+replace(ltrim((datepart(dw,日期)+@@datefirst-1)%7),'0','天')
    from tb 日期 日期
    2008-06-15 00:00:00.000 第2周 星期天
    2008-06-16 00:00:00.000 第2周 星期1
    2008-06-17 00:00:00.000 第2周 星期2
    2008-06-18 00:00:00.000 第2周 星期3
    2008-06-19 00:00:00.000 第2周 星期4
    2008-06-20 00:00:00.000 第2周 星期5
    2008-06-21 00:00:00.000 第2周 星期6
    2008-06-22 00:00:00.000 第3周 星期天
    2008-06-23 00:00:00.000 第3周 星期1
    2008-06-24 00:00:00.000 第3周 星期2
    2008-06-25 00:00:00.000 第3周 星期3
      

  5.   

    SELECT DAY(GETDATE()) / 7 + 1 
    把GETDATE()换成你要求的日期即可不行啊,比如2007-01-07得出是2,而实际上它是该月第一个星期天
      

  6.   

    Sorry,虽然结贴了,但还是要修正一下错误
    应该是
    SELECT (DAY(GETDATE()) - 1) / 7 + 1