Oracle SQL语句实现数字四舍五入取整_oracle

取整(向下取整):

复制代码 代码如下:

select floor(5.534) from dual;
select trunc(5.534) from dual;

上面两种用法都可以对数字5.534向下取整,结果为5.

如果要向上取整 ,得到结果为6,则应该用ceil

复制代码 代码如下:

select ceil(5.534) from dual;

四舍五入:

复制代码 代码如下:

SELECT round(5.534) FROM dual;
SELECT round(5.534,0) FROM dual;
SELECT round(5.534,1) FROM dual;
SELECT round(5.534,2) FROM dual;

结果分别为 6,  6,  5.5,  5.53

保留N位小数(不四舍五入):

复制代码 代码如下:

select trunc(5.534,0) from dual;
select trunc(5.534,1) from dual;
select trunc(5.534,2) from dual;

结果分别是 5,5.5,5.53,其中保留0位小数就相当于直接取整了。

数字格式化:

复制代码 代码如下:

select to_char(12345.123,'99999999.9999') from dual;

结果为12345.123

复制代码 代码如下:

select to_char(12345.123,'99999999.9900') from dual;

小数后第三第四为不足补0,结果为12345.1230

复制代码 代码如下:

select to_char(0.123,'99999999.9900') from dual;
select to_char(0.123,'99999990.9900') from dual;

结果分别为 .123, 0.123

时间: 2024-09-12 13:25:44

Oracle SQL语句实现数字四舍五入取整_oracle的相关文章

Oracle SQL语句处理过程

oracle|过程|语句 07年开始,换了一家公司,数据库使用的是ORACLE10G,以前一直使用的是INFORMIX和MSSERVER,感觉ORACLE功能还真强大,比Informi和msserver都好用多啦,体系结构和管理方式都有了许多变化,但使用两个月下来,其实数据库的基本原理是一样的,现结合以前的工作经验和学习的资料,总结ORACLE数据库的一些知识,今天先写Oracle SQL语句处理过程:            一般来说,数据库处理SQL都会经过三个过程:分析.执行.返回结果,比如

oracle sql语句 求sql语句

问题描述 oracle sql语句 求sql语句 数据源: 图片自动说明: 日期,投诉次数,分公司ID,分公司,投诉类别 环比:取查询日期的前一天,如:20150720,环比20150719 结果: 每万用户投诉比 每万用户投诉比环比增幅 个人投诉总次数 个人投诉环比增幅 集团投诉总次数 集团投诉环比增幅 解决方案 oracle sql语句优化Oracle用SQL语句分页 解决方案二: 分公司总用户数都没有,哪里来的每万用户投诉比? 解决方案三: 用decode吧,参考这个sql select

oracle sql语句疑问,关于嵌套查询语句的执行先后顺序

问题描述 oracle sql语句疑问,关于嵌套查询语句的执行先后顺序 1.select A.END from 2. tableA A,tableB B 3.where A.X=B.Y 4.and A.END = ( 5. select MAX(END) from tableA 6. where tableA.X = B.Y 7. ): 我想问一下.按理max只有一个最值,为何这样写会出来多个.另外第5,6,7行是子查询,不是很理解为什么可以里面调用父查询里面的B.能详细说一下这个sql 完整的

oracle语句-oracle sql语句建表约束问题

问题描述 oracle sql语句建表约束问题 create table workers ( wID char(5) check ( wID like'[a-z][0-9][0-9][0-9][0-9]'), wName char(10) NOT NULL, wSex char() check ( wSex IN ('女','男')), wTel char(11) check ( wTel like'[0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0

oracle sql语句统计数据写法

问题描述 oracle sql语句统计数据写法 有3张表,A表活动B表活动地区C表地区商家 A表关联B表,B表关联C表都是一对多,现在需返回活动名称,活动地区数,地区商家数 解决方案 SELECT A.活动名称COUNT(1)SUM(SELECT COUNT(1) FROM C WHERE A=B AND B=C) FROM A INNER JOIN B ON A=B GROUP BY A.活动名称 解决方案二: SELECT T1.活动 AS 活动名称 COUNT(T2.地区) AS 活动地区

求oracle sql语句统计数据

问题描述 求oracle sql语句统计数据 求oracle sql语句统计数据 要统计出勤率.迟到次数.旷工次数 签到表(ManualSign) 字段: SignId:签到表的ID ,UserId:用户ID ,SignTime:签到时间 ,SignDesc:签到备注 ,SignTag:签到标记(签到.签退) 样例记录:13, 'jiyaoqi', to_date('2015-08-18 08:00:00' ,'yyyy-MM-dd hh24:mi:ss'), '测试一下', 1 工作时间表(W

oracle sql语句性能优化

oracle|性能|优化|语句 1.选用适合的ORACLE优化器ORACLE的优化器共有3种 A.RULE (基于规则) b.COST (基于成本) c.CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) ,

oracle sql语句优化(转载)

(1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表 driving table) 将被最先处理,在 FROM 子句中包含多个表的情况下 , 你必须选择记录条数最少的表作为基础表.如果有 3 个以上的表连接查询 , 那就需要选择交叉表 (intersection table) 作为基础表 , 交叉表是指那个被其他表所引用的表 . (2)      WHER

Oracle SQL语句解析过程你造么?

我们都知道,Oracle在执行SQL之前,需要对SQL语句进行解析.Oracle中,SQL语句可分为DDL和DML两类.对于DDL,因为很少被共享使用,故几乎每次执行时,都需要进行硬解析.而对于DML,会根据实际情况进行硬解析或软解析.这些过程都是如何进行的,什么是硬解析,什么又是软解析呢?我们将在下文揭晓. SQL语句的解析过程,从总体上,可分为四个阶段: 语法检查 语意检查 解析阶段 执行阶段 针对每个阶段,我们可以做个详细的划分: 1语法检查 对SQL语句进行语法检查,检查是否有语法错误,