银行中mysql数字转成金额

银行中mysql数字转成金额,第1张

Mysql没有金额类型的字段,mysql提供了两个数据类型:numeric和decimal,这两种数据类型可以轻松解决上面的问题:

NUMERIC 和 DECIMAL 类型被 MySQL 以同样的类型实现,这在 SQL92 标准中是允许的。他们用于保存对准确精度有重要要求的值,例如与金钱有关的数据。当以它们中的之一声明一个列时,精度和数值范围可以(通常是)被指定;例 如:

salary DECIMAL(5,2)

在这个例子中,5 (精度(precision)) 代表重要的十进制数字的数目,2 (数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因此,salary 列可以存储的值范围是从 -99.99 到 99.99。(实际上 MySQL 在这个列中可以存储的数值可以一直到 999.99,因为它没有存储正数的符号)。

FORMAT(X,D) 函数

将数字X 的格式写为'#,###,###.##',以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若 D 为 0, 则返回结果不带有小数点,或不含小数部分。

mysql>SELECT FORMAT(12332.123456, 4)

->'12,332.1235'

mysql>SELECT FORMAT(12332.1,4)

->'12,332.1000'

mysql>SELECT FORMAT(12332.2,0)

->'12,332'

格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法

复制代码代码如下:

SELECT FORMAT(12562.6655,2)

结果:12,562.67

查看文档:Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的。

复制代码代码如下:

mysql>SELECT FORMAT(12332.123456, 4)

->'12,332.1235'

mysql>SELECT FORMAT(12332.1,4)

->'12,332.1000'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7378917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存