如何根据出生日期获得记录

时间:2011-08-29 16:04:15

标签: sql-server

我需要计算即将到来的生日,并且必须向他们发送生日祝福。我无法从具有出生日期字段的数据库中检索记录。

任何人都可以根据SQL Server 2005中的DateOfBirth字段向我提供查询,使用该查询我可以在接下来的7天内获得有生日的记录

提前致谢

2 个答案:

答案 0 :(得分:1)

SELECT ...
FROM...
WHERE DATEDIFF(dd, 
            CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-' + CAST(MONTH(DateOfBirth) AS VARCHAR) + '-' + CAST(DAY(DateOfBirth) AS VARCHAR) AS DATETIME), 
            GETDATE()) <= 7

答案 1 :(得分:1)

SELECT *
FROM
   TABLE
WHERE
    DATEPART(dy, DateOfBirth) - DATEPART(dy, GETDATE()) > 0 AND
    DATEPART(dy, DateOfBirth) - DATEPART(dy, GETDATE()) <=7