回答
SELECT *
FROM Employees
WHERE DATEPART(d, DateOfBirth) = DATEPART(d, GETDATE())
AND DATEPART(m, DateOfBirth) = DATEPART(m, GETDATE())
WHERE
今天的月份和日期(显然)员工生日匹配的月份和日期。更具体的指示将需要更多的投入。
你可以做这样的事情:
select e.name from employeeTable e
where right(e.birthday) = right(convert(varchar(8), getdate(), 112), 4)
或
select e.name from employeeTable e
where datepart(d, e.birthday) = datepart(d, getdate())
and datepart(m, e.birthday) = datepart(m, getdate())
afaik这也将在生日字段上进行混淆和索引。 – MatBailie 2012-01-10 13:33:52
@Dems我一直忘记:) – 2012-01-10 13:35:53
理想上的数据源,将有助于结构更多的信息,但一个简单的答案,提供您的员工记录有一个DOB字段将在查询的where子句中将此日期和月份与当前系统日期进行比较。
东西大致如下:
select * from wherever
where
....
(
datepart(d, EmployeeDOB) = datepart(d, getdate()) and
datepart(m, EmployeeDOB) = datepart(m, getdate())
)
.....
嘿安迪,thnx很多.... 我得到它的工作.. :) – 2012-01-10 13:41:12
@VishalAvhad - 请注意,此选项混淆了INDEX,并将强制进行全表扫描。如果你有大量的记录,这将是一个很大的开销。 – MatBailie 2012-01-10 13:45:46
虽然这是更为长篇大论,它避免必须扫描整个表寻找匹配。
WITH
a_century AS
(
SELECT 1 AS year
UNION ALL
SELECT year * 2 + 0 AS year FROM a_century WHERE year < 64
UNION ALL
SELECT year * 2 + 1 AS year FROM a_century WHERE year < 64
)
SELECT
*
FROM
yourTable
INNER JOIN
a_century
ON yourTable.birthday = DATEADD(year, -a_century.year, DATEADD(day, DATEDIFF(day, 0, getDate()), 0))
- 1. SQL查询,如果日期是接近今天
- 2. SQL查询检查到期日期是从今天3天?
- 3. 今天的日期发生变化的SQL查询
- 4. PHP:生日检查今天的日期
- 5. 如何计算,如果工作日是超过6天,从今天的日期
- 6. SQL查询在哪里日期=今天减7天
- 7. 检查今天的日期与SQL查询
- 8. 根据今天的日期查询
- 9. PHP:如何检查日期是今天,昨天还是明天
- 10. sqlite的 - 检查如果今天是2个日期
- 11. Joomla JFactory查询返回今天的日期后的结果
- 12. 用于查询元素是否在今天'X'天内附加的SQL查询
- 13. 基于今天的日期的SQL查询
- 14. 使用datetime2在今天的日期SQL Server查询
- 15. 帮助与SQL查询 - 在桌子上的状元秀今天生日
- 16. Dynamics CRM FetchXML - 今天是生日
- 17. SQL查询,以便从今天
- 18. 在SQL(MySQL)中返回基于今天日期的查询结果
- 19. 如何检查今天是否是Java日历的星期日
- 20. 如何检查今天的日期=从SQL日期?
- 21. 如果行的日期=今天()
- 22. 如何检查日期是否大于今天的日期Laravel5
- 23. SQL查询获取和更新今天和昨天的数据?
- 24. SQL查询选择今天和前一天的价格
- 25. Google表格 - 查询日期是否在今天
- 26. 检查从SQL日期时间是今天
- 27. 如何查询ISO日期为今天的对象?
- 28. 如何让查询询问所有未来日期而不是今天?
- 29. 从今天到今天上个月的查询
- 30. 今天有生日的联系人
直接回答你的问题......“是” – SQLMason 2012-01-10 13:22:09
@DanAndrews,并不是无条件:) – 2012-01-10 13:23:10