小编Cro*_*rob的帖子

SQL选择即将到来的生日

我正在尝试编写一个存储过程来选择即将到来的生日的员工.

SELECT * FROM Employees WHERE Birthday > @Today AND Birthday < @Today + @NumDays

这不起作用,因为出生年份是生日的一部分,所以如果我的生日是'09 -18-1983',那将不会介于'09 -18-2008'和'09 -25-2008'之间.

有没有办法忽略日期字段的年份部分,只是比较月/日?

这将在每个星期一早上运行,提醒管理人员即将到来的生日,因此可能会跨越新的一年.

这是我最终创建的工作解决方案,感谢Kogus.

SELECT * FROM Employees 
WHERE Cast(DATEDIFF(dd, birthdt, getDate()) / 365.25 as int)
    - Cast(DATEDIFF(dd, birthdt, futureDate) / 365.25 as int) 
<> 0
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

25
推荐指数
3
解决办法
5万
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1