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;這些可能有效。)
添加回答
舉報