有时我们需要将结果以 千位分隔符 的形式显示,那我们怎样实现呢?
可使用 FORMAT(X,D[,locale]) 函数
函数说明:将数字X格式化为'#,###,###.##',将其舍入为 D小数位,然后将结果作为字符串返回。如果D为 0,则结果没有小数点或小数部分。
可选的第三个参数允许指定语言环境,以用于结果数字的小数点,千位分隔符以及分隔符之间的分组。
允许的语言环境值与lc_time_names系统变量的合法值相同 。如果未指定语言环境,则默认值为'en_US'。
小示例
SELECT FORMAT(121389.1290, 2); -- 121,389.13 -- 结果四舍五入成两位小数
SELECT FORMAT(121389.12,4); -- 121,389.1200 -- 结果保留四位小数,不够用 0 补位
SELECT FORMAT(121389.1,0); -- 121,389 -- 结果四舍五入成整数,没有小数部分
SELECT FORMAT(121389.1,2,'zh_CN'); -- 121,389.10 -- zh_CN --> Chinese - China
SELECT FORMAT(121389.1,2,'de_DE'); -- 121.389,10 -- de_DE --> German - Germany (de_DE语言环境使用点(.)来分隔千位和逗号(,)来分隔小数点)
参考:https://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_format