一个很简单的问题:如何得到除法运算的后两位

volin 2003-08-21 09:57:52
在sybase 中

select convert(numeric(4,2),3/10)
2> go
3/10
-------
0.00

(1 row affected)

我想得到 3.33
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
volin 2003-08-21
  • 打赏
  • 举报
回复

问题是进行除法运算时是两numeric(22)变量

难道都得先转为numeric(23,1)才能进行吗

这样的改动很多啊

有没有别得办法
pct 2003-08-21
  • 打赏
  • 举报
回复
哈~!
TwinkleCrystals 2003-08-21
  • 打赏
  • 举报
回复
楼主用的是9i吗?
TwinkleCrystals 2003-08-21
  • 打赏
  • 举报
回复
可以用round,但是只能得到0.3,得不到0.33
SQL> select round(3/10,2) from dual;

ROUND(3/10,2)
-------------
0.3

SQL> select round(0.3333,2) from dual;

ROUND(0.3333,2)
---------------
0.33
pct 2003-08-21
  • 打赏
  • 举报
回复
select convert(numeric(4,2),10./3)
即可
beckhambobo 2003-08-21
  • 打赏
  • 举报
回复
取整:
SQL> select trunc(0.333,2) from dual
2 ;

TRUNC(0.333,2)
--------------
0.33
四舍五入:
SQL> select round(0.356,2) from dual;

ROUND(0.356,2)
--------------
0.36

17,377

社区成员

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

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