10.16 MySQL 服务器区域设置支持

lc_time_names系统变量指示的语言环境控制用于显示日期和月份名称及缩写的语言。此变量影响DATE_FORMAT()DAYNAME()MONTHNAME()函数的输出。

lc_time_names不会影响STR_TO_DATE()GET_FORMAT()功能。

lc_time_names的值不会影响FORMAT()的结果,但是此函数采用可选的第三个参数,该参数允许指定语言环境以用于结果数字的小数点,千位分隔符和分隔符之间的分组。允许的语言环境值与lc_time_names系统变量的合法值相同。

语言环境名称具有 IANA(http://www.iana.org/assignments/language-subtag-registry)列出的语言和区域子标签,例如'ja_JP''pt_BR'。无论系统的区域设置如何,默认值为'en_US',但是您可以在服务器启动时设置该值,或者,如果您具有足以设置全局系统变量的特权,则可以在运行时设置GLOBAL值。参见第 5.1.8.1 节“系统变量特权”。任何 Client 端都可以检查lc_time_names的值或设置其SESSION的值以影响其自身连接的语言环境。

mysql> SET NAMES 'utf8';
Query OK, 0 rows affected (0.09 sec)

mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US           |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT DAYNAME('2010-01-01'), MONTHNAME('2010-01-01');
+-----------------------+-------------------------+
| DAYNAME('2010-01-01') | MONTHNAME('2010-01-01') |
+-----------------------+-------------------------+
| Friday                | January                 |
+-----------------------+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('2010-01-01','%W %a %M %b');
+-----------------------------------------+
| DATE_FORMAT('2010-01-01','%W %a %M %b') |
+-----------------------------------------+
| Friday Fri January Jan                  |
+-----------------------------------------+
1 row in set (0.00 sec)

mysql> SET lc_time_names = 'es_MX';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| es_MX           |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT DAYNAME('2010-01-01'), MONTHNAME('2010-01-01');
+-----------------------+-------------------------+
| DAYNAME('2010-01-01') | MONTHNAME('2010-01-01') |
+-----------------------+-------------------------+
| viernes               | enero                   |
+-----------------------+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('2010-01-01','%W %a %M %b');
+-----------------------------------------+
| DATE_FORMAT('2010-01-01','%W %a %M %b') |
+-----------------------------------------+
| viernes vie enero ene                   |
+-----------------------------------------+
1 row in set (0.00 sec)

每个受影响的功能的日期或月份名称都从utf8转换为character_set_connection系统变量指示的字符集。

lc_time_names可以设置为以下任何区域设置值。 MySQL 支持的语言环境可能与您的 os 支持的语言环境不同。

Locale ValueMeaning
ar_AE阿拉伯文-阿拉伯联合酋长国
ar_BH阿拉伯文-巴林
ar_DZ阿拉伯文-阿尔及利亚
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_YE阿拉伯文-也门
be_BY白俄罗斯语-白俄罗斯
bg_BG保加利亚语-保加利亚
ca_ES加泰罗尼亚语-西班牙
cs_CZ捷克文-捷克共和国
da_DK丹麦文-丹麦
de_AT德语-奥地利
de_BE德语-比利时
de_CH德语-瑞士
de_DE德语-德国
de_LU德语-卢森堡
el_GR希腊文-希腊
en_AU英语-澳大利亚
en_CA英语-加拿大
en_GB英语-英国
en_IN英语-印度
en_NZ英语-新西兰
en_PH英语-菲律宾
en_US美国英语
en_ZA英语-南非
en_ZW英语-津巴布韦
es_AR西班牙语-阿根廷
es_BO西班牙语-玻利维亚
es_CL西班牙语-智利
es_CO西班牙语-哥伦比亚
es_CR西班牙语-哥斯达黎加
es_DO西班牙语-多米尼加共和国
es_EC西班牙语-厄瓜多尔
es_ES西班牙语-西班牙
es_GT西班牙语-危地马拉
es_HN西班牙语-洪都拉斯
es_MX西班牙语-墨西哥
es_NI西班牙语-尼加拉瓜
es_PA西班牙语-巴拿马
es_PE西班牙语-秘鲁
es_PR西班牙语-波多黎各
es_PY西班牙语-巴拉圭
es_SV西班牙语-萨尔瓦多
es_US西班牙语-美国
es_UY西班牙语-乌拉圭
es_VE西班牙语-委内瑞拉
et_EE爱沙尼亚语-爱沙尼亚
eu_ES巴斯克-西班牙
fi_FI芬兰文-芬兰
fo_FO法罗语-法罗群岛
fr_BE法语-比利时
fr_CA法语-加拿大
fr_CH法语-瑞士
fr_FR法语-法国
fr_LU法语-卢森堡
gl_ES加利西亚语-西班牙
gu_IN古吉拉特邦-印度
he_IL希伯来语-以色列
hi_IN印地语-印度
hr_HR克罗地亚语-克罗地亚
hu_HU匈牙利文-匈牙利
id_ID印尼文-印尼文
is_IS冰岛语-冰岛
it_CH义大利文-瑞士
it_IT义大利文-意大利
ja_JP日语-日本
ko_KR韩文-大韩民国
lt_LT立陶宛语-立陶宛
lv_LV拉脱维亚-拉脱维亚
mk_MK马其顿-北马其顿
mn_MN蒙古-蒙古语
ms_MY马来语-马来西亚
nb_NO挪威文(Bokmål)-挪威
nl_BE荷兰语-比利时
nl_NL荷兰语-荷兰
no_NO挪威文-挪威
pl_PL波兰文-波兰
pt_BR葡萄牙-巴西
pt_PT葡萄牙-葡萄牙
rm_CH罗曼什-瑞士
ro_RO罗马尼亚文-罗马尼亚
ru_RU俄语-俄罗斯
ru_UA俄语-乌克兰
sk_SK斯洛伐克-斯洛伐克
sl_SI斯洛文尼亚语-斯洛文尼亚
sq_AL阿尔巴尼亚文-阿尔巴尼亚
sr_RS塞尔维亚文-塞尔维亚
sv_FI瑞典文-芬兰
sv_SE瑞典文-瑞典
ta_IN泰米尔语-印度
te_IN泰卢固语-印度
th_TH泰语-泰国
tr_TR土耳其文-土耳其
uk_UA乌克兰文-乌克兰
ur_PK乌尔都语-巴基斯坦
vi_VN越南文-越南
zh_CN中文-中国
zh_HK中文-香港
zh_TW中文-台湾