2 回答
TA贡献1827条经验 获得超9个赞
您正在寻找印度数字分隔符(十万、千万)。我们可以使用Format()函数,将第三个参数设置为en_IN(英语-印度)语言环境。第二个参数设置为 2 用于指定小数点后 2 个小数位.。最后,CONCAT('Rs.') 将货币添加到结果中。
select CONCAT('Rs. ', FORMAT(sum(netamount), 2, 'en_IN'))
from syncbill
演示
select format(100000,2,'en_IN');
| format(100000,2,'en_IN') |
| ------------------------ |
| 1,00,000.00 |
在 DB Fiddle 上查看
编辑:但是,正如评论中进一步讨论的那样,您的 MySQL 服务器版本非常旧(5.1),它不支持Format()带有 Locale 参数的功能。在此处查看 5.1 文档。
TA贡献1839条经验 获得超15个赞
5.5.0的变更日志说
FORMAT()函数现在支持可选的第三个参数,该参数允许指定区域设置以用于结果数字的小数点、千位分隔符以及分隔符之间的分组。允许的区域设置值与lc_time_names系统变量的合法值相同(请参阅MySQL 服务器区域设置支持)。例如,FORMAT(1234567.89,2,'de_DE')的结果是 1.234.567,89。如果未指定语言环境,则默认为“en_US”。
所以,如果你有 5.5 或更高版本,它应该可以工作。如果您仍然遇到问题,请提供更多详细信息。
(警告:当 5.5 达到 EOL 时,这些链接将断开。将链接编辑为 5.6;这些可能有效。)
添加回答
举报