我有一个表格,其中有一个日期时间字段来保存个人的出生日期。
如何编写一个返回今天是个人生日的所有记录的查询?
答案 0 :(得分:2)
只需将birthdate字段的月份和日期部分与当前日期的部分进行比较:
select * from person
where datepart("month", birthdate) = datepart("month", getdate())
and datepart("day", birthdate) = datepart("day", getdate())
答案 1 :(得分:1)
如果今天是他们的生日,您可以使用SQLServer的Datepart功能检查字段。
使用datepart,您可以获得完整日期的日期部分,如日,月和年。
在这里,您只需要比较日期和月份来检查今天是否过生日。
试试这个:
SELECT *
FROM table
WHERE DATEPART(d, @dob) = DATEPART(d, GETDATE())
AND DATEPART(m, @dob) = DATEPART(m, GETDATE())