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

取整(向下取整):

代码如下:

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

以上就是我们的小编为大家整理的Oracle中对数字常用的操作,需要的小伙伴可以参考一下。

(0)

相关推荐

  • ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式

    最近做项目,有这样一需求:ORACLE数据库中求除数字.字母之外的非中文字符的正则表达式 如有如下字段,需将其中除字母.数字.汉字外的其他所有字符替换为空 'asdfsad ,,:)()!@123234#$%^&*(我w 是e ? 中国人../\[]::''""一人' 最终得到值:asdfsad123234我是中国人一人 select FN_REG_REPLACEOTHER('asdfsad ,,:)()!@#$%^&*(我是?中国人../\[]::''"&q

  • Oracle中判断字段是否为数字

    在我们平常的开发中可能会遇到这样的问题,就是判断某一列是否全部由数字组成,我们都知道oracle并没有给我们提供这样一个现成的函数,那么根据我的经验我总结了两个行之有效的方法(列名:column,表名:table): 1.使用trim+translate函数: 复制代码 代码如下: select * from table where trim(translate(column,'0123456789',' ')) is NULL; 这里要注意的是:translate函数的第三个参数是一个空格,不

  • oracle 重置序列从指定数字开始的方法详解

    重置oracle序列从指定数字开始 复制代码 代码如下: declare n number(10); v_startnum number(10):=10000001;--从多少开始 v_step number(10):=1;--步进 tsql varchar2(200); v_seqname varchar2(200):='MIP_JF_SEQUENCE';--序列名 begin execute immediate 'select '||v_seqname||'.nextval from dua

  • Oracle判断指定列是否全部为数字的sql语句

    复制代码 代码如下: select nvl2(translate(name,'\1234567890 ', '\'),'is characters ','is number ') from customer_info where nvl2(translate(name,'\1234567890 ', '\'),'is characters ','is number ')='is number '

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

    取整(向下取整): 复制代码 代码如下: 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) FRO

  • ORACLE SQL语句优化技术要点解析

    操作符优化: IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格. 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询. 由此可见用IN的SQL至少多了一个转换的过程.一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了. 推荐方案:

  • PHP四舍五入精确小数位及取整

    进一法取整.四舍五入取整.忽略小数等的取整数方法大全 PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval 一.ceil - 进一法取整 说明float ceil ( float value )

  • Oracle中sql语句如何执行日志查询

    目录 Oracle sql语句执行日志查询 Oracle查询某天sql执行记录 Oracle sql语句执行日志查询 在Oracle数据中,我们经常编写sql语句,有时我们会编写一些特别长的sql语句,而有一些意外导致sql消失,从而出现长时间写的sql,但是需要重新辨析,我们可以使用查询语句通过时间定位sql. 从而找到: select FIRST_LOAD_TIME,LENGTH(SQL_FULLTEXT),SQL_FULLTEXT from v$sql where SQL_FULLTEXT

  • MySQL与Oracle SQL语言差异比较一览

    数据类型 编号 ORACLE MYSQL 注释 1 NUMBER int / DECIMAL DECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型: MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样 2 Varchar2(n) varchar(n) 3 Date DATATIME 日期字段的处理 MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前

  • JavaScript十大取整方法实例教程

    1. parseInt() // js内置函数,注意接受参数是string,所以调用该方法时存在类型转换 parseInt("1.5555") // => 1 2. Number.toFixed(0) // 注意toFixed返回的字符串,若想获得整数还需要做类型转换 1.5555.toFixed(0) // => "1" 3. Math.ceil() // 向上取整 Math.ceil(1.5555) // => 2 4. Math.floor(

  • C语言中四种取整方式,取余/取模运算以及负数取模问题详解

    目录 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 总结 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取整方式为零向取整,C语言默认采用的是这种方式 C语言中也有对应的零向取整函数: 同理还有一种函数是负无穷大取整: 它的取整方案是向负无穷大取整: 有地板取整,当然也有正无穷大取整的函数: 它的取整方式是向正无穷大取整: 最后,还有四舍五入取整的函数: 取模/取余 取模概念: 如果a和d是两个自然数,d非零,可以证明存在两个唯一的整

  • C语言取模取整的深入理解

    目录 一:四大取整 1.1. 0向取整 1.2.  -∞取整( 地板取整) 1.3. +∞取整 1.4. 四舍五入取整 1.5. 例子汇总 二:取模 / 取余 2.1. 概念 2.2. 示例(C和Python) 2.3. 取余和取模一样吗? 2.4. 计算数据同符号 2.5. 计算数据不同符号 2.6. 总结 一:四大取整 1.1. 0向取整 看代码: #include <stdio.h> int main() { //本质是向0取整 int i = -2.9; int j = 2.9; pr

  • SQL四舍五入、向下取整、向上取整函数介绍

    round() 遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0) = 1;round(1.55,0)=2 floor()向下取整 如:floor(1.45)= 1,floor(1.55) = 1 ,floor(-1.45)= -2 ,floor(-1.55) = -2 ceiling()向上取整 如:ceiling(1.45) = 2,ceiling(1.55)=2,ceiling(-1.45) = -1,ceiling(-1.55)=-1

  • Oracle如何在SQL语句中对时间操作、运算

    目录 0.date与timestamp 1.获取系统当前时间 2.ORACLE里获取一个时间的年.季.月.周.日的函数: 3.日期操作 4.常用的时间戳 5.查询某时间范围 总结 0.date与timestamp 1)区别 date精确到年月日时分秒,timestamp更精确一些: 但这个不重要,重要的是,实践中我从Oracle数据库取date类型字段,前端展示时分秒都是0,网上说数据库类型是date取到前端就是这样,只能精确到日,后面都是默认填0:我给字段换成timestamp确实问题解决了,

随机推荐