摘要:在本教程中,您将学习如何使用 MySQL DAYNAME
函数来获取给定日期的工作日名称。
MySQL DAYNAME
函数简介
MySQL DAYNAME
函数返回指定日期的工作日名称。下面说明了DAYNAME
函数的语法:
DAYNAME(date);
Code language: SQL (Structured Query Language) (sql)
DAYNAME
函数接受 1 个参数,该参数是您想要获取其工作日名称的日期。
如果date
为NULL
或无效,例如2017-02-30
,则DAYNAME
函数返回NULL
。
MySQL DAYNAME
函数示例
以下示例返回January 1st, 2000
的工作日名称。
mysql> SELECT DAYNAME('2000-01-01') dayname;
+----------+
| dayname |
+----------+
| Saturday |
+----------+
1 row in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
默认情况下,MySQL 以lc_time_names
系统变量控制的语言返回工作日的名称。
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US |
+-----------------+
1 row in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
如您所见,当前区域设置设置为en_US
。
要获取特定区域设置中工作日的日期名称,您需要更改lc_time_names
变量的值。例如,以下语句将区域设置设置为法语:
mysql> SET @@lc_time_names = 'fr_FR';
Query OK, 0 rows affected (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
现在,让我们查询January 1st, 2000
的工作日名称:
mysql> SELECT DAYNAME('2000-01-01') dayname;
+---------+
| dayname |
+---------+
| samedi |
+---------+
1 row in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
如您所见,工作日名称已更改为法语。
下表显示了 MySQL 支持的lc_time_names
的有效区域设置:
阿尔巴尼亚语 – 阿尔巴尼亚 | sq_AL |
阿拉伯语 – 阿尔及利亚 | ar_DZ |
阿拉伯语 – 巴林 | ar_BH |
阿拉伯语 – 埃及 | ar_EG |
阿拉伯语 – 印度 | ar_IN |
阿拉伯语 – 伊拉克 | ar_IQ |
阿拉伯语 – 约旦 | ar_JO |
阿拉伯语 – 科威特 | ar_KW |
阿拉伯语 – 黎巴嫩 | ar_LB |
阿拉伯语 – 利比亚 | ar_LY |
阿拉伯语 – 摩洛哥 | ar_MA |
阿拉伯语 – 阿曼 | ar_OM |
阿拉伯语 – 卡塔尔 | ar_QA |
阿拉伯语 – 沙特阿拉伯 | ar_SA |
阿拉伯语 – 苏丹 | ar_SD |
阿拉伯语 – 叙利亚 | ar_SY |
阿拉伯语 – 突尼斯 | ar_TN |
阿拉伯语 – 阿拉伯联合酋长国 | ar_AE |
阿拉伯语 – 也门 | ar_YE |
巴斯克语 – 巴斯克语 | 欧盟ES |
白俄罗斯语 – 白俄罗斯 | 是_BY |
保加利亚语 – 保加利亚 | BG_BG |
加泰罗尼亚语 – 西班牙 | ca_ES |
中文 – 中国 | zh_CN |
中文 – 香港 | zh_HK |
中文 – 中国台湾省 | zh_TW |
克罗地亚语 – 克罗地亚 | 小时_HR |
捷克 – 捷克共和国 | cs_CZ |
丹麦语 – 丹麦 | 达_DK |
荷兰语 – 比利时 | nl_BE |
荷兰语 – 荷兰 | NL_NL |
英语 – 澳大利亚 | en_AU |
英语 – 加拿大 | en_CA |
英语 – 印度 | en_IN |
英语 – 新西兰 | zh_CN |
英语 – 菲律宾 | en_PH |
英语 – 南非 | en_ZA |
英语 – 英国 | en_GB |
美国英语 | zh_CN |
英语 – 津巴布韦 | zh_ZW |
爱沙尼亚语 – 爱沙尼亚 | 等_EE |
法罗语 – 法罗群岛 | fo_FO |
芬兰语 – 芬兰 | FI_FI |
法语 – 比利时 | fr_BE |
法语 – 加拿大 | fr_CA |
法语 – 法国 | fr_FR |
法语 – 卢森堡 | fr_LU |
法语 – 瑞士 | fr_CH |
加利西亚语 – 西班牙 | GL_ES |
德语 – 奥地利 | 德_AT |
德语 – 比利时 | 德_BE |
德语 – 德国 | 德_DE |
德语 – 卢森堡 | 德鲁 |
德语 – 瑞士 | 德_CH |
希腊语 – 希腊 | el_GR |
古吉拉特语 – 印度 | gu_IN |
希伯来语 – 以色列 | 他_IL |
印地语 – 印度 | 嗨_IN |
匈牙利语 – 匈牙利 | 胡_HU |
冰岛语 – 冰岛 | 伊斯兰国 |
印度尼西亚语 – 印度尼西亚 | id_ID |
意大利语 – 意大利 | 它_IT |
意大利语 – 瑞士 | 痒 |
日语 – 日本 | ja_JP |
韩语 – 大韩民国 | ko_KR |
拉脱维亚语 – 拉脱维亚 | LV_LV |
立陶宛语 – 立陶宛 | LT_LT |
马其顿语 – 前南斯拉夫马其顿语 | MK_MK |
马来语 – 马来西亚 | 女士_MY |
蒙古 – 蒙古语 | MN_MN |
挪威语 – 挪威 | 不,不 |
挪威语(博克马尔) – 挪威 | NB_NO |
波兰语 – 波兰 | PL_PL |
葡萄牙语 – 巴西 | pt_BR |
葡萄牙语 – 葡萄牙 | 点_点 |
罗马尼亚语 – 罗马尼亚 | 罗_RO |
俄语 – 俄罗斯 | RU_RU |
俄语 – 乌克兰 | ru_UA |
塞尔维亚语 – 南斯拉夫 | SR_RS |
斯洛伐克 – 斯洛伐克 | sk_SK |
斯洛文尼亚语 – 斯洛文尼亚 | sl_SI |
西班牙语 – 阿根廷 | es_AR |
西班牙语 – 玻利维亚 | es_BO |
西班牙语 – 智利 | es_CL |
西班牙语 – 哥伦比亚 | es_CO |
西班牙语 – 哥斯达黎加 | es_CR |
西班牙语 – 多米尼加共和国 | es_DO |
西班牙语 – 厄瓜多尔 | es_EC |
西班牙语 – 萨尔瓦多 | es_SV |
西班牙语 – 危地马拉 | es_GT |
西班牙语 – 洪都拉斯 | es_HN |
西班牙语 – 墨西哥 | es_MX |
西班牙语 – 尼加拉瓜 | es_NI |
西班牙语 – 巴拿马 | es_PA |
西班牙语 – 巴拉圭 | es_PY |
西班牙语 – 秘鲁 | es_PE |
西班牙语 – 波多黎各 | es_PR |
西班牙语 – 西班牙 | es_ES |
西班牙语 – 美国 | es_US |
西班牙语 – 乌拉圭 | es_UY |
西班牙语 – 委内瑞拉 | es_VE |
瑞典语 – 芬兰 | sv_FI |
瑞典语 – 瑞典 | sv_SE |
泰米尔语 – 印度 | 塔_IN |
泰卢固语 – 印度 | TE_IN |
泰语 – 泰国 | th_TH |
土耳其语 – 土耳其 | tr_TR |
乌克兰语 – 乌克兰 | uk_UA |
乌尔都语 – 巴基斯坦 | ur_PK |
越南语 – 越南 | vi_VN |
请参阅示例数据库中的以下orders
表:
以下语句返回按 2004 年工作日名称分组的订单计数。
SELECT
DAYNAME(orderdate) weekday,
COUNT(*) total_orders
FROM
orders
WHERE
YEAR(orderdate) = 2004
GROUP BY weekday
ORDER BY total_orders DESC;
Code language: SQL (Structured Query Language) (sql)
周五下单数量最多,周日有两笔下单。
在本教程中,您学习了如何使用 MySQL DAYNAME
函数来获取特定日期的工作日名称。
本教程有帮助吗?