求sql函数

kevn 2010-01-28 09:59:36
是要在sql里实现的功能。(这个功能实际上与Excel中的roundup() 函数功能类似)
实现保留2位小数、并且是向上保留。

如;


roundup(23.0001,2) = 23.01
roundup(23.3451,2) = 23.35
roundup(23.3431,2) = 23.35
roundup(23,2) = 23
...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjing1979666 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 playwarcraft 的回复:]
引用 6 楼 fredrickhu 的回复:
引用 3 楼 playwarcraft 的回复:
試試這個
select convert(numeric(18,2), ceiling(23.3451*100)*1.0/100)

楼主要求在为整的时候不要2位小数?


这样的显示在sql中只能是varchar,
无非再多几个case
[/Quote]

能具体点吗?case 到底怎么写呢,如果为整数,就不要小数点了
kevn 2010-01-28
  • 打赏
  • 举报
回复
各位很强,我就想不出来
playwarcraft 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fredrickhu 的回复:]
引用 3 楼 playwarcraft 的回复:
試試這個
select convert(numeric(18,2), ceiling(23.3451*100)*1.0/100)

楼主要求在为整的时候不要2位小数?
[/Quote]

这样的显示在sql中只能是varchar,
无非再多几个case
--小F-- 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 playwarcraft 的回复:]
試試這個
select convert(numeric(18,2), ceiling(23.3451*100)*1.0/100)
[/Quote]
楼主要求在为整的时候不要2位小数?
黄_瓜 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 playwarcraft 的回复:]
試試這個
select convert(numeric(18,2), ceiling(23.3451*100)*1.0/100)
[/Quote]沟沟 好深
nianran520 2010-01-28
  • 打赏
  • 举报
回复

select
cast(ceiling(col*100)/100 as dec(18,2))
from tb
playwarcraft 2010-01-28
  • 打赏
  • 举报
回复
試試這個
select convert(numeric(18,2), ceiling(23.3451*100)*1.0/100)
kevn 2010-01-28
  • 打赏
  • 举报
回复
round函数不能满足我的要求,只要小数点后有2位以上,都要进位,无论是几,不是四舍五入
SQL77 2010-01-28
  • 打赏
  • 举报
回复
有个ROUND函数,但不会像你那样

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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