MySQL FORMAT() 用法与实例
在 MySQL 中,FORMAT()
函数用于四舍五入给定的数字到指定的位数,并返回带有分隔符的数字字符串。
发布于
在 MySQL 中,FORMAT()
函数用于四舍五入给定的数字到指定的位数,并返回带有分隔符的数字字符串。
语法
您可以使用以下语法:
FORMAT(num, decimal_places [, locale])
在这个语法中:
num
是要格式化的数字。decimal_places
是要将数字四舍五入到的小数位数。locale
是一个可选参数,用于指定要使用的区域设置的格式约定。
示例 1
要将数字 12345.6789
四舍五入为两位小数,请使用以下语句:
SELECT FORMAT(12345.6789, 2);
输出:
+-----------------------+
| FORMAT(12345.6789, 2) |
+-----------------------+
| 12,345.68 |
+-----------------------+
在本示例中,小数部分 6789
向上舍入为 68
。整数部分使用千分符分割。
示例 2
如果第二个参数的数字大于要格式化的数字中的小数位数,FORMAT()
函数将在数字最后补 0:
SELECT FORMAT(12345.6789, 9);
输出:
+-----------------------+
| FORMAT(12345.6789, 9) |
+-----------------------+
| 12,345.678900000 |
+-----------------------+
示例 3 - 区域
您可以通过第三个参数设置区域,以按照指定区域的习惯返回数字:
SELECT
'12345.6789' AS 'Number',
FORMAT(12345.6789, 3, 'de_DE') AS 'de_DE',
FORMAT(12345.6789, 3, 'rm_CH') AS 'rm_CH';
输出:
+------------+------------+------------+
| Number | de_DE | rm_CH |
+------------+------------+------------+
| 12345.6789 | 12.345,679 | 12'345,679 |
+------------+------------+------------+
下表是 MySQL 支持的区域设置:
区域设置值 | 意义 |
---|---|
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 |
Spanish – Argentina |
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 |
英语(博克马尔语) - 英国 |
nl_BE |
Dutch – Belgium |
nl_NL |
Dutch – The Netherlands |
no_NO |
Norwegian – Norway |
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 |
中文 – 中国台湾省 |