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 ...
随机推荐
- RoekerMQ4.x可视化控制台安装
1.下载 https://github.com/apache/rocketmq-externals 2.解压文件tar -zxvf rocketmq-externals-master.zip 3.移动 ...
- Mysql分区、分表、分库
1.MySQL分区 一般情况下我们创建的表对应一组存储文件,使用MyISAM存储引擎时是一个.MYI和.MYD文件,使用Innodb存储引擎时是一个.ibd和.frm(表结构)文件. 当数据量较大时( ...
- TCP回射客户服务器模型(01 socket bind listen accept connect)
socket函数(安装电话机)头文件:#include<sys/socket.h> int socket(int family, int type, int protocol); //返 ...
- Java的注释-标识符和关键字
1.Java注释 单行注释 多行注释 文档注释 代码示例 public class Hello{ public static void main(String[] args) { ...
- 腾讯云容器服务 TKE 推出新一代零损耗容器网络
随着容器技术的发展成熟,越来越多的组件迁移到容器,在技术迁移过程中,数据库,游戏,AI 这些组件对容器网络性能(时延,吞吐,稳定性)提出了更高的要求.为了得到更优的时延和吞吐表现,各大云厂商都在致力于 ...
- 原生javascript包装一个ajax方法
调用AJAX 1 <script type="text/javascript" src="ajax.js"></script> 2 &l ...
- 分布式监控系统之Zabbix主动、被动及web监控
前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控:回顾请参考https://www.cnblogs.com/ ...
- Camtasia制作视频分割与视频拼接
视频的分割与拼接是在制作和编辑视频中经常用到的方法,运用Camtasia视频编辑器能够让视频制作更加的简单和便捷.Camtasia是一款录频软件和视频编辑器,可以进行屏幕录制.拖放视频等操作.小编采用 ...
- 如何用MathType 7输入连续几个数的和
在数学的学习中,我们经常需要使用求和符合来求连续几个数的和,那么作为专业的公式编辑器,如何输入连续几个数的求和呢? 具体步骤如下: 步骤一 打开专业的公式编辑软件MathType 7,用鼠标点击上方的 ...
- Camtasia Studio,一款好用到爆炸的视频录制软件
目前网络中有很多视频录制软件,各有特色,经过亲测今天小编为大家推荐一款比较好的视频录制软件就是Camtasia Studio软件,Camtasia支持视频的高清录制以及视频的导入导出,而且最支持导出的 ...