select * from **
where datename(month,@datevar)='3' and datename(day,@datevar)='27'

解决方案 »

  1.   

    用datepart,datename好像月份返回非数字。
      

  2.   

    针对oracle ,strDate是日期型的,否则先用To_Date(strDate)
    select * from xx
    where ToChar(strDate,'M')='3' and ToChar(strDate,'D')='27'
      

  3.   

    select * from **
    where datename(month,@datevar)='3' and datename(day,@datevar)='27'
    中,@datevar在哪声明?用SQL SERVER2000
      

  4.   

    @datevar 是指你数据库中的数据成员名。比如,有一个TABLE中有DATEOFBIRTH,你就可以将DATEOFBIRTH取代@datevar。
    或者,你在程序中用sqlDataAdapter.SelectCommand.Paramenter.add(..,..)
    sqldataAdapter.selectCommand.Parameter["@datevar"].Value=...