oracle 小问题 在线等答案

一切为了你 2011-02-27 11:27:25
我在存储过程中用了一个见字符串类型数字 转换类型
比如我的数据: 140.0040
to_number(140.0040) 之后的结果为140.004

这个不是我要的结果!! 目标就是转换后还是 140.0040

具体没怎么用过这个函数,貌似末尾是0,都会去除,怎么不让这个末尾的0去除!! 请大牛们帮忙
...全文
101 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
strive_bo 2011-02-28
  • 打赏
  • 举报
回复
select to_char(140.0040,'9990.9999') from dual
chenfeng03 2011-02-28
  • 打赏
  • 举报
回复
to_char(140.0040,'9990.9999')
UPC子夜 2011-02-27
  • 打赏
  • 举报
回复
刚才百度了下 处理方法都是小数位数已知的情况
1楼的方法也是 要是小数位数未知 就不行了 比如 1.0000显示为1.0000 但是1.20就会显示为1.2000就不对了
估计没有好的办法吧
你可以把每个数的小数位数计算出来 然后逐个设置to_char,不知道可不可行
QKForex 2011-02-27
  • 打赏
  • 举报
回复
to_char(140.0040,'9990.9999')
zty598416146 2011-02-27
  • 打赏
  • 举报
回复
二楼和楼上方法不错~~学习了
lxyzxq2008 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 skydemo 的回复:]
我在存储过程中用了一个见字符串类型数字 转换类型
比如我的数据: 140.0040
to_number(140.0040) 之后的结果为140.004

这个不是我要的结果!! 目标就是转换后还是 140.0040

具体没怎么用过这个函数,貌似末尾是0,都会去除,怎么不让这个末尾的0去除!! 请大牛们帮忙
[/Quote]cast(12345.6780 as number(8,5)) 可以指定你要转换的类型和小数位
njlywy 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huojianfashe 的回复:]
to_char(140.0040,'9990.9999')
[/Quote]
+1
lihua547354966 2011-02-27
  • 打赏
  • 举报
回复
可以用to_char(140.0040,'9990.9999')
ilovemk 2011-02-27
  • 打赏
  • 举报
回复
数据库是不会存储小数点后面的0的,所以只能用to_char来一个个处理,不过还有的更好的办法是直接用varchar2来存储数据.
mingchaoyan 2011-02-27
  • 打赏
  • 举报
回复
to_char(140.0040,'9990.9999') 试试

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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