MySQL查询某天是周几的实用方法与技巧
在MySQL中,要查询某一天是星期几,可以使用内置函数 DAYNAME() 或 WEEKDAY() 来实现。DAYNAME() 直接返回日期的英文星期名称(如Monday、Tuesday),而 WEEKDAY() 则返回数字索引(0代表周一,6代表周日),两者都能高效解决日期与星期的转换需求。
若要查询“2023-10-01”是星期几,可通过以下SQL语句快速获取结果:

SELECT DAYNAME('2023-10-01') AS week_day;
这将返回 “Sunday”,清晰表明该日期为星期日,若需数字形式的星期信息,可改用:
SELECT WEEKDAY('2023-10-01') AS week_index;
此时结果为 6(对应周日)。
在实际应用中,这一功能尤其适用于数据分析、报表生成或日程管理场景,结合 WHERE 子句可筛选特定星期几的数据记录:
SELECT * FROM orders WHERE DAYNAME(order_date) = 'Friday';
此语句能快速提取所有周五的订单,提升查询效率。
需要注意的是,WEEKDAY() 的索引从周一开始计算,而另一类似函数 DAYOFWEEK() 则以周日为起点(1代表周日,7代表周六),使用时需根据业务需求选择,MySQL还支持 DATE_FORMAT() 函数自定义输出格式,
SELECT DATE_FORMAT('2023-10-01', '%W') AS week_day;
同样能返回完整的星期名称。
掌握MySQL的日期函数不仅能简化“某天是周几”的查询,还能为复杂的时间逻辑处理提供灵活支持,建议在实际开发中结合索引优化,避免全表扫描,以确保大数据量下的查询性能。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/7193.html发布于:2026-07-27





