比如说,我给个'2009-01'就能获的'2008-12'
给个'2009-02' 能获得'2009-01'
这个SQL语句如何写?

解决方案 »

  1.   

    declare @s varchar(10);
    set @s = '2009-01';select convert(varchar(7),dateadd(month,-1,@s+'-01'),120);
      

  2.   

    declare @s varchar(7)
    set @s = '2009-01'select convert(varchar(7),dateadd(mm,-1,@s+'-01'),120)set @s = '2009-02'select convert(varchar(7),dateadd(mm,-1,@s+'-01'),120)/*
            
    ------- 
    2008-12(所影响的行数为 1 行)        
    ------- 
    2009-01(所影响的行数为 1 行)
    */
      

  3.   

    select dateadd(month,-1,'2009-01-01')