MariaDB EXTRACT() 函数使用指南

在 MariaDB 中,EXTRACT() 是一个内置函数,它从给定的日期或日期时间表达式抽取指定的部分。

MariaDB EXTRACT() 语法

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

EXTRACT(unit FROM date)

参数

unit
必需的。需要提取的单位。unit 可以是以下值中的一个:
  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

您可以从此处查看所有的 MariaDB 日期和时间单位

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

如果您不提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

返回值

MariaDB EXTRACT() 函数从指定的日期/时间中提取指定的部分并返回。

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

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

MariaDB EXTRACT() 示例

这个语句展示 MariaDB EXTRACT() 函数的基本用法:

SELECT
    EXTRACT(YEAR FROM '2022-02-28'),
    EXTRACT(MONTH FROM '2022-02-28'),
    EXTRACT(DAY FROM '2022-02-28'),
    EXTRACT(HOUR FROM '10:11:12'),
    EXTRACT(MINUTE FROM '10:11:12'),
    EXTRACT(SECOND FROM '10:11:12'),
    EXTRACT(HOUR FROM '2022-02-28 10:11:12'),
    EXTRACT(MINUTE FROM '2022-02-28 10:11:12'),
    EXTRACT(SECOND FROM '2022-02-28 10:11:12')\G

输出:

           EXTRACT(YEAR FROM '2022-02-28'): 2022
          EXTRACT(MONTH FROM '2022-02-28'): 2
            EXTRACT(DAY FROM '2022-02-28'): 28
             EXTRACT(HOUR FROM '10:11:12'): 10
           EXTRACT(MINUTE FROM '10:11:12'): 11
           EXTRACT(SECOND FROM '10:11:12'): 12
  EXTRACT(HOUR FROM '2022-02-28 10:11:12'): 10
EXTRACT(MINUTE FROM '2022-02-28 10:11:12'): 11
EXTRACT(SECOND FROM '2022-02-28 10:11:12'): 12

当前日期

您可以使用 MariaDB EXTRACT() 函数获取当前日期中的各种单位:

SELECT
  NOW(),
  EXTRACT(YEAR FROM NOW()) "YEAR",
  EXTRACT(MONTH FROM NOW()) "MONTH",
  EXTRACT(DAY FROM NOW()) "DAY",
  EXTRACT(HOUR FROM NOW()) "HOUR",
  EXTRACT(MINUTE FROM NOW()) "MINUTE",
  EXTRACT(SECOND FROM NOW()) "MINUTE";

输出:

+---------------------+------+-------+------+------+--------+--------+
| NOW()               | YEAR | MONTH | DAY  | HOUR | MINUTE | MINUTE |
+---------------------+------+-------+------+------+--------+--------+
| 2023-01-08 15:41:29 | 2023 |     1 |    8 |   15 |     41 |     29 |
+---------------------+------+-------+------+------+--------+--------+

结论

在 MariaDB 中,EXTRACT() 是一个内置函数,它从给定的日期或日期时间表达式抽取指定的部分。