星期一,星期二,星期三,........星期日。
当星期一时,我要做......
星期二时,我要做......
.
.
.
我用了下面的例子做了实验,但不行。
declare @weekday char,@i int
set @weekday='星期一'
set @i=0
while @i<=6
 begin
  set @weekday=datename(weekday,@weekday+@i)
  print @weekday
  set @i=@i+1
 end我试过了,结果出不来。

解决方案 »

  1.   

    declare @weekday varchar(10),@i int
    set datefirst 1
    set @weekday='星期一'
    set @i=0
    while @i<=6
     begin
      print @weekday
      set @weekday=datename(weekday,@i+1)
      set @i=@i+1
     end/*
    星期一
    星期二
    星期三
    星期四
    星期五
    星期六
    星期日
    */
      

  2.   

    >>datename(weekday,@weekday+@i)datename的第二个参数要datetime型的。
    用datepart吧。
      

  3.   

    在中文版sql2000中,
    declare @weekday varchar(10),@i int
    set datefirst 1
    set @weekday='星期一'
    set @i=0
    while @i<=6
     begin
      print @weekday
      set @weekday=datename(weekday,@i+1)
      set @i=@i+1
     end这个是可以的
      

  4.   

    declare @weekday varchar(10),@i int
    set datefirst 1
    set @weekday='星期一'
    set @i=0
    while @i<=6
     begin
      print @weekday
      set @weekday=datename(weekday,@i+1)
      set @i=@i+1
     end上面打印出来的结果是星期一
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday另外请问“set datefirst 1”是起什么作用的,注释掉好像也可以?