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

Oracle中ROUND()函数保留两位小数未补零,求正确SQL写法

解决Oracle中平均票价固定两位小数格式化问题

在Oracle数据库里,ROUND()函数仅做数值四舍五入处理,不会强制保留末尾的零。要输出42.50、55.00这类固定两位小数的格式,得用TO_CHAR()函数配合指定格式模型:

核心SQL示例

SELECT TO_CHAR(AVG(ticket_price), 'FM999999999.00') AS ticket_price
FROM your_table_name;

细节说明

  • AVG(ticket_price):先完成平均票价的数值计算;
  • TO_CHAR(..., 'FM999999999.00'):把数值转为指定格式的字符串:
    • .00:强制保留两位小数,位数不足时自动补零;
    • FM:消除格式转换后可能出现的前导空格,保证输出整洁。

如果需要结果以数值类型返回(而非字符串),可以嵌套CAST()转换:

SELECT CAST(TO_CHAR(AVG(ticket_price), 'FM999999999.00') AS NUMBER(10,2)) AS ticket_price
FROM your_table_name;

多数测试场景下,直接用TO_CHAR输出格式化后的字符串就能满足要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:52:02