MySQL中如何判断今天周几:实用函数与示例详解
在MySQL中,可以使用 DAYOFWEEK() 函数来判断今天是周几,该函数返回日期对应的星期索引值(1代表周日,2代表周一,……,7代表周六),执行 SELECT DAYOFWEEK(NOW()); 即可获取当前日期的星期索引,若需直接显示星期名称,可结合 DAYNAME() 函数,如 SELECT DAYNAME(NOW()); 会返回英文星期名(如'Monday')。
关键点解析:

DAYOFWEEK(date):返回数字1-7,对应周日到周六,适合需要数值化判断的场景(如条件筛选)。DAYNAME(date):直接返回星期英文全称,便于直观显示。WEEKDAY(date):另一种常用函数,但索引从0开始(0代表周一,6代表周日),需注意区别。
应用示例:
- 查询今天是否为工作日(周一至周五):
SELECT CASE WHEN DAYOFWEEK(NOW()) BETWEEN 2 AND 6 THEN '工作日' ELSE '周末' END AS 日期类型;
- 格式化输出中文星期(需自定义映射):
SELECT CASE DAYOFWEEK(NOW()) WHEN 1 THEN '周日' WHEN 2 THEN '周一' WHEN 3 THEN '周二' WHEN 4 THEN '周三' WHEN 5 THEN '周四' WHEN 6 THEN '周五' WHEN 7 THEN '周六' END AS 星期;
注意事项:
- MySQL的星期函数依赖系统时区设置,需确保日期参数准确。
- 对于复杂日期逻辑,可结合
DATE_FORMAT()函数,如SELECT DATE_FORMAT(NOW(), '%W');同样输出英文星期名。
通过灵活使用这些函数,可以高效处理日期与星期的转换需求,提升数据库查询的实用性。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/7124.html发布于:2026-07-27





