MySQL查询周几的实用方法与技巧详解
在MySQL中查询日期对应的周几,可以直接使用内置函数WEEKDAY()或DAYNAME()来实现。WEEKDAY()函数返回数字表示周几(周一为0,周日为6),而DAYNAME()函数则直接返回英文的星期名称,Monday”或“Sunday”,这两种方法简单高效,能够满足日常开发中针对日期数据的周几查询需求。
若需查询当前日期的周几信息,可使用以下语句:

SELECT DAYNAME(NOW()) AS week_day_name, WEEKDAY(NOW()) AS week_day_num;
这将同时返回当前日期的英文星期名称和对应的数字编号,若需处理特定日期字段,只需将NOW()替换为表中的日期列即可。
SELECT order_date, DAYNAME(order_date) AS day_of_week FROM orders;
扩展应用场景:
- 数据统计与分析:结合
GROUP BY语句,可统计每周不同日期的业务量,如:SELECT DAYNAME(created_at) AS week_day, COUNT(*) AS count FROM logs GROUP BY week_day;
- 条件筛选:查询特定周几的数据,例如筛选所有周五的记录:
SELECT * FROM events WHERE WEEKDAY(event_date) = 4; -- 周五对应数字4
注意事项:
- MySQL中还有
DATE_FORMAT()函数,可通过%W参数获取周几名称(如SELECT DATE_FORMAT(NOW(), '%W')),但DAYNAME()更为直观。 - 不同地区对周起始的定义可能不同,若需以周日为一周的开始,可使用
WEEKDAY()的变体函数DAYOFWEEK()(周日为1,周六为7)。
通过灵活运用这些函数,开发者能轻松实现基于周几的数据查询与聚合,提升数据库操作的效率和准确性。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/7084.html发布于:2026-07-26





