MySQL DAYOFWEEK 是日期函数之一,用于返回给定日期的星期索引值。此方法返回 1 到 7 的值,其中 1 = 星期日,2 = 星期一,… 7 = 星期日。
让我们通过一个示例了解如何使用此 DAYOFWEEK 函数获取表达式中的星期或一周中的某一天。DAYOFWEEK() 函数的基本语法如下所示
DAYOFWEEK(date or expression);
MySQL DAYOFWEEK 函数示例
这些示例可帮助您理解 dayofweek 方法的用法。在这里,我们从日期表达式和日期时间表达式中返回星期索引号。
SELECT DAYOFWEEK('2018-12-30');
SELECT DAYOFWEEK('2018-12-31');
SELECT DAYOFWEEK('2018-12-15 03:22:19');

如何从当前日期获取星期几?
让我们看另一个 MySQL DAYOFWEEK 函数的示例。在这里,我们通过 Now() 和 CURDATE() 返回的当前日期时间中获取星期索引号。
SELECT DAYOFWEEK(NOW()), DAYOFWEEK(CURRENT_DATE());
4 | 4
在字符串和无效日期上使用 DAYOFWEEK
以下 MySQL 查询显示了当我们尝试从 0 格式、字符串格式或无效日期返回星期索引时会发生什么。
SELECT DAYOFWEEK(NOW() + 2);
SELECT DAYOFWEEK('2019-02-31');
SELECT DAYOFWEEK('0000-00-00');

从上面的屏幕截图(“2019-02-31”); 语句返回 NULL,因为它是一个无效的日期。在最后一个 日期函数 语句中,(0) 表示我们试图从零日期部分提取星期几。这就是为什么它返回 NULL。