想作一个生日提醒的小软件,数据库中存储的是宝宝的生日YYYY-MM-DD,实际比较中只需比较当前月日与数据库中的月日就可以了,要实现这个功能SQL语句如何写

解决方案 »

  1.   

    http://www.douban.com/group/topic/12090174/
      

  2.   

    TDateTime直接相减出来就是天数
      

  3.   

    DaysBetween函数uses  DateUtilsprocedure TForm1.BitBtn23Click(Sender: TObject);
    var
      i:integer;
    begin
      i:=DaysBetween(Now,StrToDate('2011-06-01'));
      Memo1.Lines.Add(IntToStr(i));
    end;
      

  4.   

    这个DATEDIFF怎么使用啊,看了说明还是不太明白,我想实现的功能就是两个日期年份不同, 只比较月日,比较出的结果和我设置的提醒天数一致
      

  5.   

    datediff(day,生日,getdate()) = 0 and datediff(month,生日,getdate()) = 0
    日和月相同
      

  6.   

    贴一个测试代码给你,希望对你有用declare @day datetime
    set @day = '2010-4-25'
    print dateadd(year,datediff(year,@day,getdate()),@day)
    print datediff(d,dateadd(year,datediff(year,@day,getdate()),@day),getdate())
    if datediff(d,dateadd(year,datediff(year,@day,getdate()),@day),getdate()) <= 7
    print 1
    else
    print 0set @day = '2008-5-12'print dateadd(year,datediff(year,@day,getdate()),@day)
    print datediff(d,dateadd(year,datediff(year,@day,getdate()),@day),getdate())
    if datediff(d,dateadd(year,datediff(year,@day,getdate()),@day),getdate()) <= 7
    print 1
    else
    print 0
      

  7.   

    执行结果
    04 25 2011 12:00AM
    20
    005 12 2011 12:00AM
    3
    1设定差异天数,直接把我后面的7,用变量替换就可以了。