MariaDB DAYOFWEEK() 函数使用指南

在 MariaDB 中,DAYOFWEEK() 是一个内置函数,它返回一个表示给定日期工作日的数字。

MariaDB DAYOFWEEK() 语法

这是 MariaDB DAYOFWEEK() 函数的语法:

DAYOFWEEK(expr)

参数

expr
必需的。一个日期或者日期时间表达式。

如果您不提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFWEEK'

返回值

MariaDB DAYOFWEEK() 函数返回给定日期的工作日的索引。它返回一个从 17 之间的数字,代表的含义如下:

  • 1 - 星期天
  • 2 - 星期一
  • 3 - 星期二
  • 4 - 星期三
  • 5 - 星期四
  • 6 - 星期五
  • 7 - 星期六

如果指定的表达式不是一个合法的日期或者日期时间,DAYOFWEEK() 函数将返回 NULL

如果参数为 NULLDAYOFWEEK() 函数将返回 NULL

MariaDB DAYOFWEEK() 示例

基本用法

SELECT
    DAYOFWEEK('2022-02-21'),
    DAYOFWEEK('2022-02-22'),
    DAYOFWEEK('2022-02-23'),
    DAYOFWEEK('2022-02-24'),
    DAYOFWEEK('2022-02-25'),
    DAYOFWEEK('2022-02-26'),
    DAYOFWEEK('2022-02-27')\G

输出:

DAYOFWEEK('2022-02-21'): 2
DAYOFWEEK('2022-02-22'): 3
DAYOFWEEK('2022-02-23'): 4
DAYOFWEEK('2022-02-24'): 5
DAYOFWEEK('2022-02-25'): 6
DAYOFWEEK('2022-02-26'): 7
DAYOFWEEK('2022-02-27'): 1

错误的日期

如果指定的表达式不是一个合法的日期或者日期时间,DAYOFWEEK() 函数将返回 NULL

SELECT
    DAYOFWEEK('2022-02-00'),
    DAYOFWEEK('2022-02-30'),
    DAYOFWEEK('Not A DATE')\G

输出:

DAYOFWEEK('2022-02-00'): NULL
DAYOFWEEK('2022-02-30'): NULL
DAYOFWEEK('Not A DATE'): NULL

其他分隔符

MariaDB DAYOFWEEK() 函数允许您使用各种分隔符构造日期:

SELECT
    DAYOFWEEK('2023/01/08'),
    DAYOFWEEK('2023,01!08'),
    DAYOFWEEK('2023#01%08');

输出:

+-------------------------+-------------------------+-------------------------+
| DAYOFWEEK('2023/01/08') | DAYOFWEEK('2023,01!08') | DAYOFWEEK('2023#01%08') |
+-------------------------+-------------------------+-------------------------+
|                       1 |                       1 |                       1 |
+-------------------------+-------------------------+-------------------------+

结论

在 MariaDB 中,DAYOFWEEK() 是一个内置函数,它返回一个表示给定日期工作日的数字。