MySQL DAYOFWEEK() – 我的一周从星期一开始

MySQL DAYOFWEEK() – 我的一周从星期一开始

在MySQL中,DAYOFWEEK()函数用于返回指定日期的星期几,范围从1(星期日)到7(星期六)。但是,有些人的一周是从星期一开始的,MySQL默认的是从星期日开始。那么我们该如何让MySQL遵循我们自己的规则,以星期一为第一天呢?

阅读更多:MySQL 教程

修改MySQL默认值

如果我们想让MySQL以星期一为第一天,我们需要修改MySQL的默认值。可以通过以下命令进行修改:

SET GLOBAL default_week_format=3;
SET SESSION default_week_format=3;
Mysql

其中,default_week_format的值可以是1、2或3,分别代表以下情况:

  • 1:星期日为第一天
  • 2:星期一为第一天,显式指定周数
  • 3:星期一为第一天,隐式指定周数

一旦我们成功修改了MySQL的默认值,可以再次使用DAYOFWEEK()函数,结果将是由星期一开始。例如:

SELECT DAYOFWEEK('2022-02-01');
Mysql

结果将是2,因为星期一是这个日期的星期几。

星期几的名称

我们可以在DAYOFWEEK()函数中使用不同的日期格式来返回星期几的名称。有两种常见的格式:

  • %W:完整的星期几名称(例如Monday)。
  • %a:简短的星期几名称(例如Mon)。

以下是示例代码:

SELECT DAYOFWEEK('2022-02-01') AS dw_num, DATE_FORMAT('2022-02-01', '%W') AS dw_name, DATE_FORMAT('2022-02-01', '%a') AS dw_abbr;
Mysql

结果将是:

dw_num dw_name dw_abbr
2 Monday Mon

总结

通过修改MySQL的默认值,我们可以使DAYOFWEEK()函数以星期一为第一天。我们还可以使用不同的日期格式返回星期几的名称,以适应我们的需求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册