【发布时间】:2011-12-24 21:33:36
【问题描述】:
我希望我的 winforms 显示该日期的生日,但我不确定如何比较当前日期和日期时间格式。例如,如果我的生日是 1990 年 1 月 1 日,我希望我的数据网格显示 2011 年 1 月 1 日的信息。我不确定如何在 SQL 中解析日期;如果有人可以帮助我,那就太好了!
【问题讨论】:
标签: sql winforms visual-studio-2010 sql-server-2008
我希望我的 winforms 显示该日期的生日,但我不确定如何比较当前日期和日期时间格式。例如,如果我的生日是 1990 年 1 月 1 日,我希望我的数据网格显示 2011 年 1 月 1 日的信息。我不确定如何在 SQL 中解析日期;如果有人可以帮助我,那就太好了!
【问题讨论】:
标签: sql winforms visual-studio-2010 sql-server-2008
与第一种类似的另一种方式。
SELECT * FROM Users WHERE
DatePart(d, Users.Birthdate) = DatePart(d, GetDate() )
AND
DatePart(m, Users.Birthdate ) = DatePart(m, GetDate() )
【讨论】:
使用 Jamie F 的示例的不同方法。可能对索引更友好,但您必须尝试一下。
SELECT
*
FROM
Users
WHERE
DATEADD(YEAR, -DATEDIFF(YEAR, 0, Users.Birthdate), Users.Birthdate)
=
DATEADD(YEAR, -DATEDIFF(YEAR, 0, GetDate() ), GetDate() )
【讨论】:
我认为这应该给你一个好主意:
SELECT
*
FROM
Users
WHERE
MONTH( Users.Birthdate ) = MONTH( GetDate() )
AND
DAY( Users.Birthdate ) = DAY( GetDate() )
【讨论】: