Oracle函数:trunc、round、ceil和floor
1.trunc函数
1).trunc(date)
格式:trunc(date,fmt)
trunc用于截取时间,即便你指定不同的格式类型,返回的类型始终都是时间类型。
示例:
with dates as (
select date'2015-01-01' d from dual union
select date'2015-01-10' d from dual union
select date'2015-02-01' d from dual union
select timestamp'2015-03-03 23:45:00' d from dual union
select timestamp'2015-04-11 12:34:56' d from dual
)
select d "原先的时间",
trunc(d) "最近的一天",
trunc(d, 'ww') "最近的一周",
trunc(d, 'iw') "一周的开始",
trunc(d, 'mm') "一月的开始",
trunc(d, 'year') "一年的开始"
from dates;
执行结果:

2).trunc(number)
格式:trunc(n1,n2)
trunc用于截取数字类型,返回n1中截取n2个小数位。如果n2没有传,则默认为0,即截取所有小数部分。n2还可以为负数,表示截取小数点往左边取位数。
示例:
with number1 as (
select 1234.1 n from dual union
select 1234.12 n from dual union
select 1234.123 n from dual union
select 1234.1234 n from dual
)
select n "原来的数字",
trunc(n) "取整",
trunc(n,0) "取整",
trunc(n, 1) "取小数一位",
trunc(n, -1) "忽略整数一位取0"
from number1;
执行结果:

2.round函数
1).round(date)
格式:round(date,fmt)
传入的date参数必须为时间类型,返回结果始终为date类型
示例:
select round (date'2020-12-18','year') "new year" from dual;
执行结果:

2).round(number)
格式:round(n,integer)
如果n为0,不管integer是多少,始终返回0;
如果n为负数,则round(n,integer),返回-round(-n,integer),注意:这里的n为负值
如果n为正数,则ROUND(n, integer) = FLOOR(n * POWER(10, integer) + 0.5) * POWER(10, -integer),其实就是四舍五入
tips:刚开始看的时候觉得好奇,为什么官网不直接告诉是四舍五入呢,才明白,人家这是告诉我里面的算术逻辑啊~~,如果自己要实现四舍五入,则可以按这个逻辑来实现
power(x,y):x的y次方
示例:
with eg as (
select 0 n from dual union
select 12.123 n from dual union
select 12.153 n from dual union
select -12.123 n from dual union
select -12.153 n from dual
)
select
n "原来的数字",
round(n, 1) "小数点后取一位",
round(n, 2) "小数点后取两位"
from eg;
执行结果:

3.ceil函数
格式:ceil(n)
返回大于等于n的最小整数
select ceil(1.11) from dual;//结果2
4.floor函数
格式:floor(n)
返回小于等于n的最大整数
select floor(1.11) from dual;//结果1
附录:fmt格式参考地址
Oracle函数:trunc、round、ceil和floor的更多相关文章
- oracle中 trunc(),round(),ceil(),floor的使用
oracle中 trunc(),round(),ceil(),floor的使用 原文: http://www.2cto.com/database/201310/248336.html 1.round函 ...
- Delphi 常用函数(数学函数)round、trunc、ceil和floor
源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...
- delphi的取整函数round、trunc、ceil和floor
delphi的取整函数round.trunc.ceil和floor 首先引入math单元 uses math; 1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入.(按照银行家算法) ...
- Delphi 取整函数round、trunc、ceil和floor
Delphi 取整函数round.trunc.ceil和floor 1.Round(四舍六入五留双)功能说明:对一个实数进行四舍五入.(按照银行家算法)例:var i, j: Integer;begi ...
- Oracle 数字操作。数字函数。mod(),trunc(),round(),ceil(),floor的使用
1,取整函数(ceil 向上取整,floor 向下取整) 第一种方式: ) from dual -- 取整 trunc (1.9) = 1 第二种方式 select ceil(66.6) N1,flo ...
- Oracle ->> TRUNC, ROUND, CEIL, FLOOR
), ), CEIL(10.01), FLOOR(10.9999) FROM dual; 结果: TRUNC是直接截断小数位 ROUND是四舍五入 CEIL和FLOOR则是和SQL SERVER一样返 ...
- 区分舍入函数fix/round/ceil/floor
1)fix(n)的意义是取小于n的整数(是向零点舍入的意思是往零的方向上靠),这是一类应用在整数取值上的函数,就如同以前我们所研究的求整问题: 例如:fix(pi)=3 ; fix(3.5)=3; ...
- oracle函数trunc的使用
1.日期比较时精确到日,可以使用 TRUNC(sysdate,'dd')函数.函数支持格式有:yyyy MM dd hh Mi可以用 select TRUNC(sysdate,'yyyy') ...
- oracle函数--trunc
作用:截取 语法:trunc(date,[fmt]) TRUNC函数,ORA-01898 精度说明符过多 TRUNC(SYSDATE)即可默认当前日期(年月日),---写到这一步就好了 TRUNC ...
随机推荐
- egit版本对应关系。
egit版本对应关系. http://wiki.eclipse.org/EGit/FAQ#What_versions_of_Eclipse_does_EGit_target.3F
- 在linux下,为什么 i386 ELF可执行文件默认从地址(.text)0x08048000开始分配。 而 x64是0x400000
- 1. 线性DP 152. 乘积最大子数组
152. 乘积最大子数组 https://leetcode-cn.com/problems/maximum-product-subarray/ func maxProduct(nums []int) ...
- Java编发编程 - 线程池的认识(一)
每逢面试都会询问道线程池的概念和使用,但是工作中真正的又有多少场景使用呢?相信大家都会有这样的疑问:面试选拔造汽车,实际进公司就是拧螺丝!但是真正要把这颗螺丝拧紧,拧牢,没有这些最底层的知识做铺垫你可 ...
- 为什么TCP连接时是三次握手,而不是两次或四次?
TCP连接时有一个重要的任务就是服务端和客户端双方互相确认收发功能是否正常.图中步骤1,当客户端发起连接,服务端接收到请求,对于服务端来说,它此时知道客户端的发送功能和自己的接收功能是正常的. 图中步 ...
- Go语言实现excel导入无限级菜单结构
目录 需求 实现 测试 简单例子 复杂例子 需求 最近有一个需求,要实现一个无限级结构的树型菜单,差不多长下面这个样子 我们知道无限级实现思路都是用一个parent_id将各种层级串联起来,顶级的pa ...
- 听法国设计师大卫·维森特讲述他与CorelDRAW的渊源
在这次采访中,我们采访了法国插画家兼平面设计师大卫·维森特(David Vicente),他的特殊风格与Old-School美学,尤其是疯狂摇滚派有着密切的联系.在他精心制作的插图中,充满了细节和强烈 ...
- 「CF645E」 Intellectual Inquiry
题目链接 CF645E 题意 有一个长为\(n\)的由小写字母组成的字符串,需要用小写字母再填\(m\)位,使最后的字符串中本质不同的子串数量尽量多,答案对\(10^9+7\)取模. 本题数据:\(n ...
- 免费AWS云服务器一键搭建Trojan详细教程
前言 想要撸AWS服务器的可以看我上一篇博客,这里就不介绍了,以下步骤有问题的朋友可以私信或者评论区留言. 配置AWS云服务器 选择语言,博主写了博客后才看到,前面都是使用谷歌翻译. 选择地区 创建虚 ...
- web服务器是啥
什么是web服务器 参考 https://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html 了解nginx之前,先了解下什么是web服务器吧 ...