📜  MySQL DAYOFWEEK()函数(1)

📅  最后修改于: 2023-12-03 15:33:01.453000             🧑  作者: Mango

MySQL DAYOFWEEK()函数

MySQL的DAYOFWEEK()函数用于获取日期的星期几。它以一个日期参数作为输入,返回一个代表星期的数字。星期日为1,星期一为2,以此类推,星期六为7。

语法
DAYOFWEEK(date)
参数
  • date: 必须。表示日期的值或列。
返回值

DAYOFWEEK()函数返回一个数字,代表输入日期的星期。星期日为1,星期一为2,以此类推,星期六为7。

示例

下面是一些DAYOFWEEK()函数的示例:

-- 获取当前日期的星期
SELECT DAYOFWEEK(NOW());

-- 获取指定日期的星期
SELECT DAYOFWEEK('2022-01-01');

-- 获取指定日期列的星期
SELECT DAYOFWEEK(date_column) FROM my_table;

-- 获取最近7天的星期
SELECT DAYOFWEEK(date_column) FROM my_table WHERE date_column >= DATE_SUB(NOW(), INTERVAL 7 DAY);
注意事项
  • DAYOFWEEK()函数的结果依赖于MySQL系统变量lc_time_names的设置。如果该变量为默认值,星期日将显示为'Sunday',星期一到星期六分别为'Monday'到'Saturday';如果该变量为非默认值,则可能显示为其他语言的星期名称。
  • 在MySQL 8.0.17之前的版本中,DAYOFWEEK()函数遵循古老的SQL标准,星期日为7,星期一到星期六分别为1到6;从MySQL 8.0.17开始,DAYOFWEEK()函数更改为遵循ISO标准,星期一为1,星期日为7。这可能会导致在某些无法升级的老系统中,DAYOFWEEK()函数的结果与期望不符,需要手动更正或升级MySQL。