使用Oracle CEIL函数进行万位四舍五入

日期: 2010-09-01 作者:Karen Morton翻译:孙瑞 来源:TechTarget中国 英文

问:之前我问过关于SQL上限函数处理四舍五入千位数字的相关问题。在这里我想问一下,在Oracle数据库中是否有关于处理万位四舍五入的解决方法?比如起始数字为21,489.35,那么结果将返回25,000,如果起始数字是25,000.01,那么返回结果将是30,000。谢谢!   答:看了你之前问过的问题,它是关于SQL Server的,而Oracle的CEIL函数可以达到类似的效果,下面就是如何使用Oracle CEIL函数的例子: SQL>select mynumber   2      &nbs……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:之前我问过关于SQL上限函数处理四舍五入千位数字的相关问题。在这里我想问一下,在Oracle数据库中是否有关于处理万位四舍五入的解决方法?比如起始数字为21,489.35,那么结果将返回25,000,如果起始数字是25,000.01,那么返回结果将是30,000。谢谢!

  答:看了你之前问过的问题,它是关于SQL Server的,而Oracle的CEIL函数可以达到类似的效果,下面就是如何使用Oracle CEIL函数的例子:

SQL>select mynumber
  2       , mynumber/1000.0               as dividedby1000
  3       , ceil(mynumber/1000.0)      as ceilingresult
  4       , ceil(mynumber/1000.0)*1000 as myfinalnumber
  5    from mynumbers;

       MYNUMBER   DIVIDEDBY1000   CEILINGRESULT   MYFINALNUMBER
--------------- --------------- --------------- ---------------
            349            .349               1            1000
            999            .999               1            1000
           1000               1               1            1000
           1001           1.001               2            2000
           4590            4.59               5            5000
           6659           6.659               7            7000
          10432          10.432              11           11000

7 rows selected.

  想要更改其显示四舍五入结果,你可以简单地修改除数因子从1000到5000,如下所示:

SQL>select mynumber
  2       , mynumber/5000.0               as dividedby1000
  3       , ceil(mynumber/5000.0)      as ceilingresult
  4       , ceil(mynumber/5000.0)*5000 as myfinalnumber
  5    from mynumbers;

       MYNUMBER   DIVIDEDBY1000   CEILINGRESULT   MYFINALNUMBER
--------------- --------------- --------------- ---------------
            349           .0698               1            5000
            999           .1998               1            5000
           1000              .2               1            5000
           1001           .2002               1            5000
           4590            .918               1            5000
           6659          1.3318               2           10000
          10432          2.0864               3           15000

7 rows selected.

  顺便提一下,如果你希望自己亲自试一下这个例子,按照以下的SQL语句就可以创建这个测试表:

create table mynumbers (mynumber number) ;
insert into mynumbers values (349);
insert into mynumbers values (999);
insert into mynumbers values (1000);
insert into mynumbers values (1001);
insert into mynumbers values (4590);
insert into mynumbers values (6659);
insert into mynumbers values (10432);
commit ;

翻译

孙瑞
孙瑞

相关推荐

  • Oracle SQL:使用分析排序函数

    我们开发了一个应用程序,用来记录高尔夫巡回赛中的分数排名。其中我正在使用SQL来写一段代码,以根据分数来对选手进行前三名的排序。

  • SQL Server目录视图教程:数据库和文件目录视图

    SQL Server 2008提供了上百个系统视图,这些视图可以让你查看数据库和服务器元数据,而无需访问真正的数据源。

  • T-SQL函数实战教程

    在本次的技术手册中,我们将提供一系列的T-SQL函数教程,其中包括字符串操作函数、集合函数、元数据函数以及系统函数等,充分理解并掌握这些知识,对DBA来说十分必要。

  • SQL Server配置函数实战教程(下)

    你可以简单地在SELECT语句中调用SQL Server配置函数。所有这些配置函数前面都有两个符号(@@),这是为了便于识别。