11 个函数从 MariaDB 中的日期获取日、月和年

发布于

MariaDB 包含许多用于处理日期的函数。其中一些从这些日期中提取某些部分,并将它们作为字符串或整数返回。

以下是可用于在 MariaDB 中返回各种日期部分的 11 个函数。

函数

首先,以下是函数:

下面是每个函数的示例。

函数DATE_FORMAT()

该函数允许您根据格式字符串格式化日期。格式字符串指定应如何设置日期格式。您可以基于一个或多个格式说明符构造自己的格式字符串。DATE_FORMAT()

下面是用于从日期返回日、月和年的示例:DATE_FORMAT()

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

结果:

+——————————————-+ | DATE_FORMAT(‘2023-07-25’, ‘%W, %D %M %Y’) | +——————————————-+ | Tuesday, 25th July 2023 | +——————————————-+

这个函数的好处是你可以返回日期的许多变体。例如,您可以只返回短的日期和月份名称:

SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

结果:

+——————————————-+ | DATE_FORMAT(‘2023-07-25’, ‘%a, %D %b %Y’) | +——————————————-+ | Tue, 25th Jul 2023 | +——————————————-+

或者您可以返回日月数字:

SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

结果:

+—————————————+ | DATE_FORMAT(‘2023-07-25’, ‘%d/%c/%Y’) | +—————————————+ | 25/7/2023 | +—————————————+

有关可用于构造格式字符串的格式说明符的完整概述,请参阅此格式说明符的完整列表。

DATE_FORMAT()还接受可用于指定日和月名称的语言的可选区域设置参数。这是一个非常灵活的功能。有关更多示例,请参阅。DATE_FORMAT()

函数EXTRACT()

该函数允许您从日期中提取指定的单位。因此,您可以使用它从日期中提取日、月和年(以及其他单位)。``EXTRACT()

例:

SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

结果:

+——+——-+——+ | Day | Month | Year | +——+——-+——+ | 25 | 7 | 2023 | +——+——-+——+

用于返回特定日期单位的函数

MariaDB 还有一堆更具体的函数,可以返回特定的日期单位。

下面是从日期返回日、月和年的函数列表。

函数DAYNAME()

在MariaDB(以及大多数其他DBMS)中有很多用于返回一天的函数。这是因为,MariaDB 需要知道您是否想要日期名称、星期几数字、月中的某天、一年中的某一天等。

该函数返回工作日名称。DAYNAME()

例:

SELECT DAYNAME('2023-07-25');

结果:

+———————–+ | DAYNAME(‘2023-07-25’) | +———————–+ | Tuesday | +———————–+

函数DAYOFMONTH()

该函数返回月份数字中的某一天。DAYOFMONTH()

例:

SELECT DAYOFMONTH('2023-07-25');

结果:

+————————–+ | DAYOFMONTH(‘2023-07-25’) | +————————–+ | 25 | +————————–+

函数DAY()

函数实际上是函数的同义词。DAY()``DAYOFMONTH()

例:

SELECT DAY('2023-07-25');

结果:

+——————-+ | DAY(‘2023-07-25’) | +——————-+ | 25 | +——————-+

不出所料,结果与。DAYOFMONTH()

函数DAYOFWEEK()

该函数返回日期的星期几索引,由 ODBC 标准指定(= 星期日,= 星期一,…,= 星期六)。DAYOFWEEK()``1``2``7

例:

SELECT DAYOFWEEK('2023-07-25');

结果:

+————————-+ | DAYOFWEEK(‘2023-07-25’) | +————————-+ | 3 | +————————-+

请参阅下面的不同索引。WEEKDAY()

函数WEEKDAY()

该函数类似于它返回日期的周索引。不同之处在于它使用不同的索引编号(= 星期一,= 星期二,…= 星期日)。WEEKDAY()``DAYOFWEEK()``0``1``6

例:

SELECT WEEKDAY('2023-07-25');

结果:

+———————–+ | WEEKDAY(‘2023-07-25’) | +———————–+ | 1 | +———————–+

函数DAYOFYEAR()

该函数返回日期的一年中的某一天,在范围之内。DAYOFYEAR()``1``366

例:

SELECT DAYOFYEAR('2023-07-25');

结果:

+————————-+ | DAYOFYEAR(‘2023-07-25’) | +————————-+ | 206 | +————————-+

函数MONTH()

该函数返回 1 月 到 12 月范围内的月份,或者为具有零月份部分的日期(例如)。MONTH()``1``12``0``0000-00-00

例:

SELECT MONTH('2023-07-25');

结果:

+———————+ | MONTH(‘2023-07-25’) | +———————+ | 7 | +———————+

函数MONTHNAME()

顾名思义,该函数返回月份名称。用于名称的语言由系统变量的值控制。MONTHNAME()``lc_time_names

例:

SELECT MONTHNAME('2023-07-25');

结果:

+————————-+ | MONTHNAME(‘2023-07-25’) | +————————-+ | July | +————————-+

函数YEAR()

该函数返回日期的年份部分。YEAR()

例:

SELECT YEAR('2023-07-25');

结果:

+——————–+ | YEAR(‘2023-07-25’) | +——————–+ | 2023 | +——————–+