FORMAT
功能描述
FORMAT函数将数字四舍五入到指定的小数位数,并按照#,###,###.##
之类的格式进行格式化,然后将结果作为字符串返回。
注意事项
该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
使用FORMAT函数需要将GUC参数[b_compatibility_mode]()设置为TRUE。
如果参数val为 NULL,FORMA函数将会返回 NULL。
语法格式
FORMAT(val number, dec_num int [,locale string])
参数说明
val
需要格式化的数字。
dec_num
要保留的小数位数。
保留的小数位数最多为32位,若dec_num大于32,则以保留32位小数返回。若dec_num为0,则返回内容无小数点及小数部分数字。
locale string
可选参数,可以根据locale指定返回内容的小数点及千位分隔符的格式。如果没有指定第三个参数,或第三个参数值非法,则使用默认值'en_US'。
示例
1、设置GUC参数b_compatibility_mode并查询。
SET b_compatibility_mode = TRUE;
show b_compatibility_mode;
返回结果为:
b_compatibility_mode
----------------------
on
(1 row)
2、调用FORMAT函数。
SELECT format(1234.4567,2);
SELECT format(1234.5,4);
SELECT format(1234.5,0);
SELECT format(1234.5,2,'de_DE');
返回结果为:
format
----------
1,234.46
(1 row)
format
------------
1,234.5000
(1 row)
format
--------
1,235
(1 row)
format
----------
1.234,50
(1 row)
3、清理环境。
SET b_compatibility_mode = FALSE;