我希望我的winforms在该日期显示生日,但我不确定如何比较当前日期和日期时间格式。例如,如果我的生日是1/1/1990,我希望我的数据网格在2011年1月1日显示我的信息。我不确定如何解析SQL中的日期;如果有人能帮助我那会很棒!
答案 0 :(得分:7)
我认为这应该给你一个好主意:
SELECT
*
FROM
Users
WHERE
MONTH( Users.Birthdate ) = MONTH( GetDate() )
AND
DAY( Users.Birthdate ) = DAY( GetDate() )
答案 1 :(得分:1)
另一种类似于第一种方式。
SELECT * FROM Users WHERE
DatePart(d, Users.Birthdate) = DatePart(d, GetDate() )
AND
DatePart(m, Users.Birthdate ) = DatePart(m, GetDate() )
答案 2 :(得分:0)
使用Jamie F的例子的另一种方法。可能更友好的索引,你必须尝试看看。
SELECT
*
FROM
Users
WHERE
DATEADD(YEAR, -DATEDIFF(YEAR, 0, Users.Birthdate), Users.Birthdate)
=
DATEADD(YEAR, -DATEDIFF(YEAR, 0, GetDate() ), GetDate() )