当前五个月的生日候选人和使用SQL的今天的日期

时间:2016-10-22 10:30:46

标签: sql-server

我需要前五个当月的生日候选人,并且使用SQL需要比今天更大的日期。

我的查询以获取当前月份的生日候选人。

SELECT * FROM Table_EmployeeInfo WHERE MONTH(DOB) = MONTH(GETDATE())

但我需要前5名候选人参加当月的生日,而且比今天的日期更长。

我表格中的日期格式。

2016-10-13 00:00:00.000

3 个答案:

答案 0 :(得分:0)

据我了解,您正在寻找即将到来的五个最接近的生日。因此,您首先按birtday对结果进行升序排序,然后将结果限制为五行:

SELECT * FROM Table_EmployeeInfo WHERE MONTH(DOB) = MONTH(GETDATE())
ORDER BY DOB ASC
LIMIT 5

编辑:好的,“大于今天”需要作为附加条件加入:

SELECT * FROM Table_EmployeeInfo WHERE MONTH(DOB) = MONTH(GETDATE())
AND DOB > NOW()
ORDER BY DOB ASC
LIMIT 5

答案 1 :(得分:0)

在sql server

SELECT top 5 * FROM Table_EmployeeInfo 
WHERE MONTH(DOB) = MONTH(GETDATE()) AND DOB >= GETDATE()
ORDER BY DOB ASC

答案 2 :(得分:0)

这是一种方法。

SELECT TOP 5 * 
FROM   table_employeeinfo 
WHERE  MONTH(DOB) = MONTH(Getdate()) 
       AND DAY(DOB) > DAY(Getdate())
--ORDER BY your_order_column

注意:添加ORDER BY子句以使查询更有意义