本帖最后由 SlovEnt 于 2009-08-09 00:48:28 编辑

解决方案 »

  1.   

    @date1=convert(char(8),getdate()-3,112
      

  2.   

    SET DATEFIRST 1
    -- select DatePart(w,getdate())
    declare @date1 char(8)
    select @date1=case when DatePart(weekday,getdate())=1 then convert(char(8),getdate()-3,112)
                when DatePart(weekday,getdate())=7 then convert(char(8),getdate()-2,112)
                else convert(char(8),getdate()-1,112)
                end
    select convert(char(8),getdate()-3,112)
    --结果
    20090806
      

  3.   

    SET DATEFIRST 1
    -- select DatePart(w,getdate())
    declare @date1 char(8)
    set @date1= (select case when DatePart(w,getdate())=1 then convert(char(8),getdate()-3,112)
                when DatePart(w,getdate())=7 then  convert(char(8),getdate()-2,112)
                else convert(char(8),getdate()-1,112)
                end)
    select convert(char(8),getdate()-3,112)
      

  4.   

    soft_wsx 老师厉害,成功了。谢谢谢谢。请问这样的语句可以写成存储过程或函数吗?
      

  5.   

    .....
    select convert(char(8),getdate()-3,112)
    好像就是你要的结果。。
      

  6.   

    呵呵,不是的,我用select @date1查过,没问题的。日期都对的上。