select * from users where birthday(生日) = getdata()

解决方案 »

  1.   

    datediff(day,birthday,getdate()) = 0如果想用参数传入当天日期则getdate() -> @yourdate
      

  2.   

    用format来规范格式,然后用substring来取出需要的字段进行比较。
      

  3.   


    declare @d1 datetime
    declare @d2 datetimeselect @d1 = '1999-01-01'
    select @d2 = '2004-01-01'select datediff(day,dateadd(year,datediff(year,@d1,@d2),@d1),@d2)
      

  4.   

    select * from users where substring(convert(char(10),birthday,120),6,5) = substring(convert(char(10),getdate(),120),6,5)不知道有没有什么好方法感觉这样太麻烦了
      

  5.   

    kerlw(科尔) ( ) 信誉:100  2004-10-25 10:18:00  得分: 0  
     
     
       那就根据你自己数据库中生日的数据格式,把获得的本日的日期转化成那个格式来做比较。
    注意不要把数据库中的数据转化成别的个格式来比较。一般做比较,是不把数据库中的数据做转化的。
      
     
    -------------------------------------------------------------------------------
    正确
      

  6.   

    string strSql = "select * from users where  Month(birthday) =" + System.DateTime.Now.Month.ToString() +" and  day(birthday) = " + System.DateTime.Now.Day;
      

  7.   

    你把birthday的字段分成两个字段year和date
    year里放1980;data里放10-10
    string strdate = DateTime.Now.ToString("MM-dd");
    this.sqlDataAdapter1.SelectCommand.CommandText = "select * from users where date = '" + strdate + "'";