亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 MySQL 中使用印度數字分隔符格式化貨幣金額

在 MySQL 中使用印度數字分隔符格式化貨幣金額

慕尼黑5688855 2022-01-19 09:45:30
我有一個查詢,它給了我像 100000.0000 這樣的總金額,我想顯示這個像100000必須顯示為盧比。1,00,000.00這是我的查詢:String sql = " select distinct round(sum(netamount)) as amount from syncbill where cancelled<>'Y' and year(curdate())=year(billdate)";ResultSet resultSetYtd = statement.executeQuery(YtdQuery);while (resultSetYtd.next()) {  String AmountYtd = resultSetYtd.getString("amount");  system.out.println(AmountYtd);}我可以僅通過查詢來實現嗎?
查看完整描述

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 文檔。


查看完整回答
反對 回復 2022-01-19
?
紫衣仙女

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;這些可能有效。)


查看完整回答
反對 回復 2022-01-19
  • 2 回答
  • 0 關注
  • 356 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號