如何在两天之间查找数据但不包括周末的数据

时间:2014-12-18 07:42:32

标签: mysql sql date select

我想查找两个日期之间的数据(例如8月份用户的注册),但只查看工作日期间注册的数据,我想从周末排除数据。

注意:我在Stac kOverflow上发现了类似的问题,但所有这些问题都计算了两个日期之间的天数,不包括周末。我想在两个日期之间搜索数据,但仅限于工作日。我的数据表中有一个时间戳,但我不知道如何创建一个SQL查询来识别时间戳是工作日还是周末。

1 个答案:

答案 0 :(得分:3)

您可以使用dayofweek功能排除周末:

SELECT *
FROM   users
WHERE  register_date BETWEEN '2014-08-01' AND '2014-09-01' AND
       DAYOFWEEK(registerdate) NOT IN (1, 7)

但请注意,如果您要查找8月份注册的用户,则可能更容易使用month功能而不是between运算符:

SELECT *
FROM   users
WHERE  MONTH(register_date) = 8 AND
       DAYOFWEEK(registerdate) NOT IN (1, 7)