Mysql判断日期是周几
本周在进行一些数据分析的时候,突然有一个需求是需要分析一下近一周的销量跟上周的销量进行对比,为了最终展示的时候美观,需要展示成下面这种格式,在做完这个需求后顺便也写一下关于MySQL如何判断日期是星期几,也希望能帮助到有需要的人,如果大家喜欢多多点赞+评论+关注
本周日期 |
本周销量 |
上周日期 |
上周销量 |
周一 |
xxx |
周一 |
xxx |
周二 |
xxx |
周二 |
xxx |
周三 |
xxx |
周三 |
xxx |
周四 |
xxx |
周四 |
xxx |
周五 |
xxx |
周五 |
xxx |
周六 |
xxx |
周六 |
xxx |
周日 |
xxx |
周日 |
xxx |
DAYOFWEEK() 函数
DAYOFWEEK() 函数返回一个整数,表示给定日期是星期几。在 MySQL 中,星期日的值为 1,星期一的值为 2,依此类推,直到星期六的值为 7。
星期几 |
DAYOFWEEK()对应值 |
周一 |
2 |
周二 |
3 |
周三 |
4 |
周四 |
5 |
周五 |
6 |
周六 |
7 |
周日 |
1 |
语法
DAYOFWEEK(date)
- date:一个有效的日期或日期时间表达式。
示例
-- 返回 3,因为 2024-10-15 是星期二 根据DAYOFWEEK()的对应关系,返回的是3
SELECT DAYOFWEEK('2024-10-15') AS day_of_week;
-- 返回星期二
select
case
DAYOFWEEK('2024-10-15')
when 1 then '星期日'
when 2 then '星期一'
when 3 then '星期二'
when 4 then '星期三'
when 5 then '星期四'
when 6 then '星期五'
when 7 then '星期六'
else ''
end as '星期'
WEEKDAY() 函数
WEEKDAY() 函数也返回一个整数,但它与 DAYOFWEEK() 的返回值不同。在 WEEKDAY() 中,0 表示星期一,1 表示星期二,依此类推,直到 6 表示星期日。
星期几 |
WEEKDAY()对应值 |
周一 |
0 |
周二 |
1 |
周三 |
2 |
周四 |
3 |
周五 |
4 |
周六 |
5 |
周日 |
6 |
语法
WEEKDAY(date)
- date:一个有效的日期或日期时间表达式。
示例
-- 返回 1,因为 2024-10-15 是星期二 根据WEEKDAY()的对应关系,返回的是 1
SELECT WEEKDAY('2024-10-15') AS day_of_week;
-- 返回星期二
select
case
WEEKDAY('2024-10-15')
when 0 then '星期一'
when 1 then '星期二'
when 2 then '星期三'
when 3 then '星期四'
when 4 then '星期五'
when 5 then '星期六'
when 6 then '星期日'
else ''
end as '星期'
DAYNAME() 函数
DAYNAME() 函数返回一个字符串,表示给定日期是星期几。返回的字符串是英文的星期名,例如 ‘Sunday’, ‘Monday’, ‘Tuesday’, 等等。
星期几 |
DAYNAME()对应值 |
周一 |
Monday |
周二 |
Tuesday |
周三 |
Wednesday |
周四 |
Thursday |
周五 |
Friday |
周六 |
Saturday |
周日 |
Sunday |
语法
DAYNAME(date)
- date:一个有效的日期或日期时间表达式。
示例
-- 返回 Tuesday,因为 2024-10-15 是星期二 根据DAYNAME()的对应关系,返回的是Tuesday
SELECT DAYNAME('2024-10-15') AS day_of_week;
-- 返回星期二
select
case
DAYNAME('2024-10-15')
when 'Monday' then '星期一'
when 'Tuesday' then '星期二'
when 'Wednesday' then '星期三'
when 'Thursday' then '星期四'
when 'Friday' then '星期五'
when 'Saturday' then '星期六'
when 'Sunday' then '星期日'
else ''
end as '星期'
注意事项
- 确保日期格式正确,MySQL 通常接受 ‘YYYY-MM-DD’ 格式。
- 不同的函数返回值的表示方式不同,选择适合你需求的函数。
- 你可以结合其他日期函数和条件语句(如 CASE 语句)来创建更复杂的查询。