You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle SQL中将数值转换为印度货币格式

Oracle 印度货币格式转换实现

你可以直接使用Oracle内置的TO_CHAR()函数,配合印度数字分组规则的NLS参数实现需求,不需要自定义函数,性能更高:

核心查询语句

SELECT 
  TO_CHAR(
    money, 
    'FM999G99G99G99G990D00', 
    'NLS_NUMERIC_CHARACTERS = ''.,'' NLS_GROUPING = ''3,2'''
  ) AS formatted_money
FROM 你的表名;

参数说明

  • 格式掩码说明:
    • FM:去除输出结果的前导空格,避免返回值带多余空白
    • G:对应配置的组分隔符(逗号)
    • D:对应配置的小数点(点号)
    • 末尾00:强制保留两位小数,不足自动补0
    • 前面的999G99G99G99G99覆盖了最高到十亿级的数值范围,可根据你的实际业务数值范围调整长度
  • NLS参数说明:
    • NLS_NUMERIC_CHARACTERS = '.,':指定小数点为.,组分隔符为,,和示例格式要求一致
    • NLS_GROUPING = '3,2':指定印度特有的分组规则:从右往左第一组长度为3,之后所有分组长度为2,完美适配印度卢比的千分位格式

效果验证

以你的示例值880856.00为例,执行上述语句后返回结果为8,80,856.00,完全匹配要求。

如果需要在结果中增加卢比符号₹,可以调整格式掩码和参数即可:

SELECT 
  TO_CHAR(
    money, 
    'FML999G99G99G99G990D00', 
    'NLS_NUMERIC_CHARACTERS = ''.,'' NLS_GROUPING = ''3,2'' NLS_CURRENCY = ''₹'''
  ) AS formatted_money_with_symbol
FROM 你的表名;

上述语句返回结果为₹8,80,856.00。


内容的提问来源于stack exchange,提问作者Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:24:03