trunc与round

TRUNC(number[,num_digits])

  1. number 需要截尾取整的数字。
  2. num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。

作用:截断数字和时间

注意

  1. TRUNC()函数截取时不进行四舍五入
  2. 只能作用时间和数字

测试:

作用于时间

select trunc(sysdate) from dual; --2017/11/7 今天的日期为2017-11-07
select trunc(sysdate, ‘mm‘) from dual; --2017/11/1 返回当月第一天.
select trunc(sysdate,‘yy‘) from dual; --2017/1/1 返回当年第一天
select trunc(sysdate,‘dd‘) from dual; --2017/11/7 返回当前年月日
select trunc(sysdate,‘yyyy‘) from dual; --2017/1/1 返回当年第一天
select trunc(sysdate,‘d‘) from dual; --2017/11/5 (星期天)返回当前星期的第一天
select trunc(sysdate, ‘hh‘) from dual; --2017/11/7 17:00:00 当前时间为17:34
select trunc(sysdate, ‘mi‘) from dual; --2017/11/7 17:34:00 TRUNC()函数没有秒的精确

   作用于数字

select trunc(123.458) from dual; --123
select trunc(123.458,0) from dual; --123
select trunc(123.458,1) from dual; --123.4
select trunc(123.458,-1) from dual; --120
select trunc(123.458,-4) from dual; --0
select trunc(123.458,4) from dual; --123.458
select trunc(123) from dual; --123
select trunc(123,1) from dual; --123
select trunc(123,-1) from dual; --120

  

ROUND(number[,decimals])

  1. number 待做截取处理的数值
  2. decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入

作用:四舍五入一个小数

注意:

  1. 当decimals作用于小数点后的数字就是四色五入
  2. 当decimals作用于小数点钱的数字而是截断的效果

测试:

select round(123.456) from dual; --123
select round(123.456,0) from dual; --123
select round(123.456,1) from dual; --123.5
select round(123.456,2) from dual; --123.46
select round(123.456,-1) from dual; --120
select round(123.456,-2) from dual; --100
select round(123,1) from dual; --123
select round(123,-1) from dual; --120

  

时间: 2024-10-02 00:08:04

trunc与round的相关文章

【测试】trunc和round的区别

trunc是截断:round是四舍五入:下面通过一个例子具体看一下trunc和round的不同 SQL> select trunc(45.923,2),trunc(45.923),trunc(45.923,-1) 2 from dual; TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-1) --------------- ------------- ---------------- 45.92 45 40 SQL> select round(45.92

oracle之trunc与round

round(x[,y]) 功能:返回四舍五入后的值 参数:x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位. 返回:数字 示例 :select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; 返回: 5555.67 , 5600 , 5556 trunc(x[,y]) 功能:返回x按精度y截取后的值 参数:x,y,数字型表达式

Oracle截取固定位数的小数方法总结

trunc,to_char,round,cast 1.trunc截取数字,小数位直接舍去,整数位取0.不进行四舍五入 第二个参数是要截取的位数,如果不是整数也只看整数位 2.to_char(),把数字转成字符的同时截取位数,且会四舍五入.对于本文对数字操作的情况,to_char的第一个参数可以是float,numberic,int, 第二个参数模板,描述要转换成什么样的形式. 注意d2,由于整数位给的'9'不够多,选出来是'###'. 利用to_char函数转换数字还有更多用法可以参考API.

Delphi 常用属性+方法+事件+代码+函数

禁用最大化(属性) 窗体-> BorderIcons属性-> biMaximize-> False 让鼠标无法改变窗体大小(属性) 窗体-> Constraints属性 ->MaxHeight和MinHeight->设置相同限制鼠标改变窗体的高度 窗体-> Constraints属性->MaxWidth和MinWidth->设置相同就限制鼠标改变窗体的宽度 ================================================

oracle常用函数详解(详细)

作者:红旗飘扬 Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果. oracle 数据库中主要使用两种类型的函数: 1.  单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果, 比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整 数列).常用的单行函数有: Ø  字符函数:对字符串操作. Ø  数字函数:对数字进行计算,返回一个数字

051 题库

序号 OCP 051题库 1 :  OCP-1Z0-051 第1题 CTAS语句建表注意事项 2 :  OCP-1Z0-051 第2题 视图的WITH CHECK OPTION选项 3 :  OCP-1Z0-051 第3题 转义字符 4 :  OCP-1Z0-051 第4题 单行函数 5 :  OCP-1Z0-051 第5题 to_char的数字的格式 6 :  OCP-1Z0-051 第6题 case when和decode的用法 7 :  OCP-1Z0-051 第7题 ON和USING子句

6.1 numbers--数值抽象基类

6. 数值和数学库 本库主要提供了数值和数学相关的函数处理以及数据类型.numbers模块定义了抽象的数值类型,math和cmath模块主要包括不同的数学函数,比如用来计算浮点数和复数.decimal模块支持十进制数值表示,可以用任何精度进行运算. 6.1 numbers--数值抽象基类 本模块主要按文档(PEP 3141)定义了数值抽象基类. class numbers.Number 数值类的基类,如果你只是想检查一个参数x是否是Number类型,可以使用函数isinstance(x, Num

在Excel中将数字转换为大写

123.09 = 壹佰贰拾叁元零玖分 =SUBSTITUTE(SUBSTITUTE(IF(G10<0,"負","")&TEXT(TRUNC(ABS(ROUND(G10,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(G10,2))),"",TEXT(RIGHT(TRUNC(ROUND(G10,2)*10)),&quo

Delphi基础语法的学习笔记和注意事项总结

以下是我在自学Delphi的时候,对一些注意点的简单总结,并没有什么系统性可言,只是一个学习时顺手记下的笔记,主要为了当时加深对知识的印象,并没有希望能在以后的复习和使用Delphi中有什么多大的参考作用.    缺少Delphi的各种数据类型的介绍……知识点. 1.     Delphi编译器自动对全局变量符初值.当程序开始时,所有的整型变量赋值为0,浮点数赋值为0.0,指针为null,字符串为空等等,因此,在源代码中不必对全局变量赋0初值 2.     Object Pascal允许在con