select .....from.....where 日期=???????
保存日期的变量是@a

解决方案 »

  1.   

    select year(getdate())
    select month(getdate())
      

  2.   


    declare @date varchar(10)
    --1
    set @date=datename(yy,getdate())+'-'+datename(mm,getdate())
    --2
    set @date=convert(varchar(7),getdate(),120)
    select @date
      

  3.   


    select convert(char(7),getdate(),120) /**
    2009-02
    **/
      

  4.   

    楼上的2位,假如我表里的日期都是2009-2-23这样的,如果char(7)的话,结果就是2009-2-
      

  5.   

    select convert(char(7),cast(字段 as datetime),120)from tb
      

  6.   

    declare @date varchar(10) ,@d varchar(50)
    set @d='2009-2-23'
    --1 
    set @date=datename(yy,cast(@d as datetime))+'-'+datename(mm,cast(@d as datetime)) 
    --2 
    set @date=convert(varchar(7),cast(@d as datetime),120) 
    select @date
      

  7.   

    select convert(nvarchar(19),getdate(),120)-------------------
    2009-02-23 13:27:41(1 row(s) affected)字段需要到哪就截取到哪!
      

  8.   

    select convert(char(7),cast('2009-2-23' as datetime),120)/**
    2009-02
    **/
      

  9.   

    日期格式,就用datetime类型,别用varchar
      

  10.   

    select ltrim(datepart(yy,'2009-2-23'))+'-'+ltrim(datepart(mm,'2009-2-23'))
      

  11.   

    declare @d varchar(20)
    set @d='2009-2-23'
    select ltrim(datepart(yy,@d))+'-'+ltrim(datepart(mm,@d)) as d
    /*
    d
    ------
    2009-2
    (所影响的行数为 1 行)
    */
      

  12.   

    datepart就可以吧
    select datepart(yyyy,getdate())  --获取年
    select datepart(mm,getdate())    --获取月
    select datepart(dd,getdate())    --获取日