11 个函数从 MariaDB 中的日期获取日、月和年
MariaDB 包含许多用于处理日期的函数。其中一些从这些日期中提取某些部分,并将它们作为字符串或整数返回。
以下是可用于在 MariaDB 中返回各种日期部分的 11 个函数。
函数
首先,以下是函数:
DATE_FORMAT()EXTRACT()DAYNAME()- $1()
DAY()DAYOFWEEK()WEEKDAY()DAYOFYEAR()MONTH()MONTHNAME()YEAR()
下面是每个函数的示例。
函数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 | +——————–+