MariaDB FORMAT() 函数使用指南
在 MariaDB 中,FORMAT()
是一个内置的字符串函数,将给定的数字四舍五入到指定的小数位数,并按照 #,###,###.##
之类的格式进行格式化,然后将结果作为字符串返回。
MariaDB FORMAT()
语法
这里是 MariaDB FORMAT()
函数的语法:
FORMAT(number, decimal_places[, locale])
参数
number
- 必需的。 需要格式化的数字。
decimal_places
- 必需的。 要保留的小数位数。
locale
- 可选的。 地区代码。
如果您没有提供足够的参数, MariaDB 将报告错误: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘)’ at line 1。
返回值
MariaDB FORMAT()
函数返回具有指定小数位数的类似于 #,###,###.##
格式(由 locale
参数或者当前会话的地区设置决定)的字符串。
如果参数 number
为字符或字符串,FORMAT()
将按照如下规则尝试转为数字:
- 如果以数字开头,则将开头的数字部分转为数字。
- 如果不能转为数字,则按照
0
处理。
如果参数 number
为 NULL
,FORMAT()
函数将会返回 NULL
。
如果参数 decimal_places
为 0
,FORMAT()
函数返回的内容没有小数部分。
如果参数 decimal_places
超过原有的小数位数,FORMAT()
函数将在小数后面补 0。
MariaDB FORMAT()
示例
基本示例
下面的语句展示了 MariaDB FORMAT()
函数的基本用法:
SELECT FORMAT(12345.6789, 2);
输出:
+-----------------------+
| FORMAT(12345.6789, 2) |
+-----------------------+
| 12,345.68 |
+-----------------------+
地区
您可以使用地区以按照指定地区的格式输出:
SELECT
FORMAT(12345.6789, 2),
FORMAT(12345.6789, 2, 'rm_CH');
输出:
+-----------------------+--------------------------------+
| FORMAT(12345.6789, 2) | FORMAT(12345.6789, 2, 'rm_CH') |
+-----------------------+--------------------------------+
| 12,345.68 | 12'345,68 |
+-----------------------+--------------------------------+
您可以在此处查看 MariaDB 支持的地区设置。
补 0
如果指定的小数位超过原有的小数位数, FORMAT()
将在小数后面补零。下面的示例说明这一点:
SELECT
FORMAT(12, 4),
FORMAT(12.34, 4);
输出:
+---------------+------------------+
| FORMAT(12, 4) | FORMAT(12.34, 4) |
+---------------+------------------+
| 12.0000 | 12.3400 |
+---------------+------------------+
非数字
MariaDB FORMAT()
将按照如下规则处理非数字参数:
- 如果以数字开头,则将开头的数字部分转为数字。
- 如果不能转为数字,则按照
0
处理。
下面的示例说明了这一点:
SELECT
FORMAT('124Abc', 4),
FORMAT('Abc123', 4),
FORMAT('Abc', 4);
输出:
+---------------------+---------------------+------------------+
| FORMAT('124Abc', 4) | FORMAT('Abc123', 4) | FORMAT('Abc', 4) |
+---------------------+---------------------+------------------+
| 124.0000 | 0.0000 | 0.0000 |
+---------------------+---------------------+------------------+
在本示例中, '124Abc'
被转为 124
,而 'Abc123'
和 'Abc'
被转为 0
。
结论
MariaDB FORMAT()
函数返回具有指定小数位数的类似于 #,###,###.##
格式(由 locale
参数或者当前会话的地区设置决定)的字符串。