从MariaDB中的日期获取月份名称的3种方法
发布于
以下是从 MariaDB 中的日期返回月份名称的三种方法。
函数MONTHNAME()
该函数专门设计用于从日期返回月份名称。为此,请在调用函数时将日期传递给函数。将返回完整的月份名称。MONTHNAME()
例:
SELECT MONTHNAME('2021-08-19');
输出:
+-------------------------+
| MONTHNAME('2021-08-19') |
+-------------------------+
| August |
+-------------------------+月份名称使用的语言由系统变量的值控制。有关这如何影响输出的示例,请参阅。lc_time_namesMONTHNAME()
函数DATE_FORMAT()
该函数将给定日期格式化为指定格式。您可以在调用函数时指定日期和格式。DATE_FORMAT()
您可以通过传递格式字符串来返回完整的月份名称。%M
例:
SELECT DATE_FORMAT('2021-08-19', '%M');
输出:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%M') |
+---------------------------------+
| August |
+---------------------------------+与月份名称一样,用于月份名称的语言由系统变量的值控制。但是,该函数接受可选的第三个参数,该参数允许您指定区域设置。MONTHNAME()``lc_time_names``DATE_FORMAT()
下面是指定区域设置的示例:
SELECT DATE_FORMAT('2021-08-19', '%M', 'ca_ES');
输出:
+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%M', 'ca_ES') |
+------------------------------------------+
| agost |
+------------------------------------------+短月名称
传递给函数返回短月份名称。%b``DATE_FORMAT()
例:
SELECT DATE_FORMAT('2021-08-19', '%b');
输出:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%b') |
+---------------------------------+
| Aug |
+---------------------------------+这可以通过函数复制,方法是使用从月份名称中获取前 3 个字符。MONTHNAME()LEFT()
例:
SELECT LEFT(MONTHNAME('2021-08-19'), 3);
输出:
+----------------------------------+
| LEFT(MONTHNAME('2021-08-19'), 3) |
+----------------------------------+
| Aug |
+----------------------------------+通过将结果转换为具有类似函数的三字符数据类型,可以实现相同的概念。MONTHNAME()CAST()
但是,虽然此方法适用于其他语言,但可能并不总是适用于其他语言。例如:en_US
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2021-08-19', '%b') AS "Short 1",
LEFT(MONTHNAME('2021-08-19'), 3) AS "Short 2",
MONTHNAME('2021-08-19') AS "Full";
输出:
+----------+-----------+-----------------------+
| Short 1 | Short 2 | Full |
+----------+-----------+-----------------------+
| ส.ค. | สิง | สิงหาคม |
+----------+-----------+-----------------------+