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 参数或者当前会话的地区设置决定)的字符串。