从MariaDB中的日期获取日期名称的3种方法
发布于
以下是可用于从 MariaDB 中的日期获取日期名称的三种方法。
其中两种方法返回完整的日期名称,一种返回短日名称。
函数DAYNAME()
该函数专门设计用于从日期返回日期名称。只需在调用函数时传递日期,它就会返回完整的日期名称。DAYNAME()
例:
SELECT DAYNAME('2021-08-19');
输出:
+-----------------------+
| DAYNAME('2021-08-19') |
+-----------------------+
| Thursday |
+-----------------------+用于日期名称的语言由系统变量的值控制。有关这如何影响输出的示例,请参阅。lc_time_namesDAYNAME()
函数DATE_FORMAT()
该函数将给定日期格式化为指定格式。您可以在调用函数时指定日期和格式。DATE_FORMAT()
您可以通过传递格式字符串来返回完整的工作日名称。%W
例:
SELECT DATE_FORMAT('2021-08-19', '%W');
输出:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%W') |
+---------------------------------+
| Thursday |
+---------------------------------+与日期名称一样,用于日期名称的语言由系统变量的值控制。但是,该函数接受可选的第三个参数,该参数允许您指定区域设置。DAYNAME()``lc_time_names``DATE_FORMAT()
下面是指定区域设置的示例:
SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES');
输出:
+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%W', 'ca_ES') |
+------------------------------------------+
| dijous |
+------------------------------------------+简称日期名称
传递给函数返回简短的工作日名称。%a``DATE_FORMAT()
例:
SELECT DATE_FORMAT('2021-08-19', '%a');
输出:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%a') |
+---------------------------------+
| Thu |
+---------------------------------+这可以通过函数复制,方法是使用从工作日名称中获取前 3 个字符。DAYNAME()LEFT()
例:
SELECT LEFT(DAYNAME('2021-08-19'), 3);
输出:
+--------------------------------+
| LEFT(DAYNAME('2021-08-19'), 3) |
+--------------------------------+
| Thu |
+--------------------------------+通过使用类似将结果转换为具有三个字符的数据类型的函数,也可以实现相同的效果。CAST()
但是,尽管此方法适用于其他语言,但它可能并不总是适用于其他语言。例如:en_US
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2021-08-19', '%a') AS "Short 1",
LEFT(DAYNAME('2021-08-19'), 3) AS "Short 2",
DAYNAME('2021-08-19') AS "Full";
输出:
+---------+-----------+--------------------------+
| Short 1 | Short 2 | Full |
+---------+-----------+--------------------------+
| พฤ. | พฤห | พฤหัสบดี |
+---------+-----------+--------------------------+