oracle查询金额类数据,如何让小数点前的0显示出来?

海兰 2016-07-13 10:36:21
比如:表中数据为:0.11,0.711
查询结果显示成:0.11,0.711
而不是.11,.711
谢谢~
...全文
7712 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
海兰 2016-07-14
  • 打赏
  • 举报
回复
是的,现在是改了表内字段格式,然后结合下大家的方法。谢谢~
js14982 2016-07-13
  • 打赏
  • 举报
回复
set numformat fm999990.9999
ghx287524027 2016-07-13
  • 打赏
  • 举报
回复
引用 4 楼 s060403072 的回复:
有个set numf 的命令,这个有实例没?哪个能举几个?
这个只是设置当前sqlplus环境中数字的默认显示格式~
卖水果的net 2016-07-13
  • 打赏
  • 举报
回复
凑个人数: 如果你是为了显示的话,在报表系统中设置更好一些,那边的格式更为丰富; to_char 是为了在 psql 这种工具中显示;
ghx287524027 2016-07-13
  • 打赏
  • 举报
回复
指定格式就可以了 SELECT to_char(0.2588,'fm999990.99999') FROM dual;
海兰 2016-07-13
  • 打赏
  • 举报
回复
有个set numf 的命令,这个有实例没?哪个能举几个?
海兰 2016-07-13
  • 打赏
  • 举报
回复
那个不好使,有没有set之类的命令可以使用的?
js14982 2016-07-13
  • 打赏
  • 举报
回复
select to_char(0.11,'0.00') from dual; 测了下,可以满足你前面小数点前0.11的需求,不过to_char(0.711,'0.00')的话,给四舍五入两位了,to_char(0.11,'0.000')的话,最后强制0.110,小数点后3位。你可以尝试再加函数去掉末尾的0,暂未想到其他办法。
一个人倔强 2016-07-13
  • 打赏
  • 举报
回复
to_char一下就好了吧
weixin_30364005 2016-07-13
  • 打赏
  • 举报
回复
引用 10楼weixin_30364005 的回复:
Select to_number ('0.11', '999.99') from dual; Or Select to_number ('.11', '999.99') from dual; I don't think to_char works. (DB:Oracle 12c 12.1.0.2.0)
I meant, it depends on the original data type. When 0.11 is stored as a string, then...
weixin_30364005 2016-07-13
  • 打赏
  • 举报
回复
Select to_number ('0.11', '999.99') from dual; Or Select to_number ('.11', '999.99') from dual; I don't think to_char works. (DB:Oracle 12c 12.1.0.2.0)
Z_B_Hrunqian 2016-07-13
  • 打赏
  • 举报
回复
用正则表达式,regexp_replcae(列名,'^\.','0.')

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧