我需要前五个当月的生日候选人,并且使用SQL需要比今天更大的日期。
我的查询以获取当前月份的生日候选人。
SELECT * FROM Table_EmployeeInfo WHERE MONTH(DOB) = MONTH(GETDATE())
但我需要前5名候选人参加当月的生日,而且比今天的日期更长。
我表格中的日期格式。
2016-10-13 00:00:00.000
答案 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
子句以使查询更有意义