MySQL语句中如何判断星期几:方法与实例详解
在MySQL中,判断日期对应的星期几可以通过内置函数 DAYOFWEEK() 或 WEEKDAY() 轻松实现,这两个函数能够将日期转换为数字形式的星期表示,但需注意其返回值差异:DAYOFWEEK() 返回1(周日)到7(周六)的值,符合国际标准;而 WEEKDAY() 返回0(周一)到6(周日)的值,更符合工作日习惯,执行 SELECT DAYOFWEEK('2023-10-01') 会返回1(代表周日),而 SELECT WEEKDAY('2023-10-01') 则返回6(同样代表周日,但以周一为起始)。
若需直接获取星期的英文名称,可使用 DAYNAME() 函数,如 SELECT DAYNAME('2023-10-01') 将输出“Sunday”,在实际应用中,这些函数常用于数据统计、报表生成或业务逻辑处理,例如筛选特定星期几的记录:

SELECT * FROM orders WHERE DAYOFWEEK(order_date) = 2; -- 获取所有周一的订单
结合 CASE 语句可自定义输出格式,例如将数字映射为中文星期:
SELECT
order_date,
CASE DAYOFWEEK(order_date)
WHEN 1 THEN '周日'
WHEN 2 THEN '周一'
-- ... 其他映射
END AS week_cn
FROM orders;
掌握这些函数能显著提升日期数据处理的灵活性与效率,尤其适用于按周分析的场景。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/7215.html发布于:2026-07-27





