标签: mysql sql date select
我想查找两个日期之间的数据(例如8月份用户的注册),但只查看工作日期间注册的数据,我想从周末排除数据。
注意:我在Stac kOverflow上发现了类似的问题,但所有这些问题都计算了两个日期之间的天数,不包括周末。我想在两个日期之间搜索数据,但仅限于工作日。我的数据表中有一个时间戳,但我不知道如何创建一个SQL查询来识别时间戳是工作日还是周末。
答案 0 :(得分:3)
您可以使用dayofweek功能排除周末:
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运算符:
month
between
SELECT * FROM users WHERE MONTH(register_date) = 8 AND DAYOFWEEK(registerdate) NOT IN (1, 7)