嘿,我需要一种从我的专栏中获取格式化数字的方法 decimal(23,2) NOT NULL DEFAULT '0.00'
在PHP我可以使用number_format('1111.00', 2, ',', '.');
它将返回的这个函数1.111,00(在德国我们使用,以定义十进制数字)
我将如何在mysql中执行此操作?用字符串替换?
Min*_*ker 29
http://blogs.mysql.com/peterg/2009/04/
在Mysql 6.1中,您将能够执行FORMAT(X,D [,locale_name])
如在
SELECT format(1234567,2,’de_DE’);
Run Code Online (Sandbox Code Playgroud)
目前,这种能力不存在,但您可以在数据库中设置您的语言环境my.ini检查它.
Pat*_*ick 20
由于性能损失,如果你只需要在SQL中使用它,你可以使用该 FORMAT函数和3 REPLACE:格式化后.用另一个char @代替,然后将,a 替换为a .然后用你选择的字符替换,你的示例至1.111,00
SELECT REPLACE(REPLACE(REPLACE(FORMAT("1111.00", 2), ".", "@"), ",", "."), "@", ",")
Run Code Online (Sandbox Code Playgroud)
小智 7
FORMAT(X,D)将数字X格式化为'#,###,###.##'等格式,舍入到D小数位,并将结果作为字符串返回.如果D为0,则结果没有小数点或小数部分.
SELECT FORMAT(12332.123456, 4);
-> '12,332.1235'Run Code Online (Sandbox Code Playgroud)