MariaDB FORMAT() 函数的基础用法与实例

MariaDB FORMAT() 函数是一个字符串函数,它用于将一个数值按照指定的格式和小数位数进行格式化,并返回一个字符串。

发布于

FORMAT() 函数是 MariaDB 中的一个字符串函数,它用于将一个数值按照指定的格式和小数位数进行格式化,并返回一个字符串。它可以用于将数值转换为适合显示的格式,例如添加千位分隔符,或者保留固定的小数位数。

语法

FORMAT() 函数的语法如下:

FORMAT(X, D, [locale])

其中:

  • X 是要格式化的数值,可以是一个常量,也可以是一个列名或表达式。
  • D 是要保留的小数位数,必须是一个非负整数,如果是负数或非整数,会被截断为整数。
  • locale 是可选的参数,用于指定格式化的语言和地区,可以是一个常量字符串,也可以是一个列名或表达式。如果省略,会使用服务器的默认语言和地区。

实例

下面是一些使用 FORMAT() 函数的实例。

对常量数值进行格式化

SELECT FORMAT(1234567.89, 2);

输出:

+-----------------------+
| FORMAT(1234567.89, 2) |
+-----------------------+
| 1,234,567.89          |
+-----------------------+

说明:

  • 这个实例中,我们对一个常量数值 1234567.89 进行格式化,保留两位小数,并返回一个字符串,表示这个数值为 1,234,567.89。
  • 注意,格式化后的字符串中使用了千位分隔符,即逗号,来分隔每三位数字。

对表中的列进行格式化

假设我们有一个名为 sales 的表,它包含以下数据:

id product price quantity total
1 A 9.99 100 999
2 B 19.99 50 999.5
3 C 29.99 30 899.7
4 D 39.99 20 799.8
5 E 49.99 10 499.9

我们可以使用 FORMAT() 函数对表中的列进行格式化,例如:

SELECT product, price, quantity, FORMAT(total, 2) AS formatted_total
FROM sales;

输出:

product price quantity formatted_total
A 9.99 100 999.00
B 19.99 50 999.50
C 29.99 30 899.70
D 39.99 20 799.80
E 49.99 10 499.90

说明:

  • 这个实例中,我们对 sales 表的 total 列进行格式化,保留两位小数,并将结果作为一个新的列 formatted_total 返回。
  • 我们可以看到,每个销售记录的总金额都被格式化为一个字符串,表示以两位小数为单位的数值。

使用特殊参数

FORMAT() 函数的第三个参数 locale 可以用于指定格式化的语言和地区,不同的语言和地区可能有不同的格式化规则,例如千位分隔符,小数点符号,货币符号等。例如:

SELECT FORMAT(1234567.89, 2, 'en_US') AS en_US_format,
       FORMAT(1234567.89, 2, 'zh_CN') AS zh_CN_format,
       FORMAT(1234567.89, 2, 'de_DE') AS de_DE_format;

输出:

en_US_format zh_CN_format de_DE_format
1,234,567.89 1,234,567.89 1.234.567,89

说明:

  • 这个实例中,我们对同一个数值 1234567.89 进行格式化,分别使用了美国英语,中国简体中文,和德国德语的语言和地区参数。
  • 我们可以看到,不同的语言和地区参数会导致不同的格式化结果,例如千位分隔符和小数点符号的不同。

相关函数

除了 FORMAT() 函数外,MariaDB 还提供了一些其他的字符串函数,例如:

  • CONCAT() 函数,它用于将多个字符串连接成一个字符串。
  • REPLACE() 函数,它用于将一个字符串中的某个子字符串替换为另一个子字符串。
  • TRIM() 函数,它用于去除一个字符串两端的空格或指定的字符。

结论

FORMAT() 函数是一个有用的字符串函数,它可以将一个数值按照指定的格式和小数位数进行格式化,并返回一个字符串。它可以用于将数值转换为适合显示的格式,例如添加千位分隔符,或者保留固定的小数位数。它的第一个参数必须是一个数值,第二个参数必须是一个非负整数,第三个参数可以指定格式化的语言和地区。它可以与表中的列或表达式一起使用,也可以与其他的字符串函数结合使用。