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的更多相关文章

  1. oracle中 trunc(),round(),ceil(),floor的使用

    oracle中 trunc(),round(),ceil(),floor的使用 原文: http://www.2cto.com/database/201310/248336.html 1.round函 ...

  2. Delphi 常用函数(数学函数)round、trunc、ceil和floor

    源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...

  3. delphi的取整函数round、trunc、ceil和floor

    delphi的取整函数round.trunc.ceil和floor 首先引入math单元 uses math; 1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入.(按照银行家算法) ...

  4. Delphi 取整函数round、trunc、ceil和floor

    Delphi 取整函数round.trunc.ceil和floor 1.Round(四舍六入五留双)功能说明:对一个实数进行四舍五入.(按照银行家算法)例:var i, j: Integer;begi ...

  5. Oracle 数字操作。数字函数。mod(),trunc(),round(),ceil(),floor的使用

    1,取整函数(ceil 向上取整,floor 向下取整) 第一种方式: ) from dual -- 取整 trunc (1.9) = 1 第二种方式 select ceil(66.6) N1,flo ...

  6. Oracle ->> TRUNC, ROUND, CEIL, FLOOR

    ), ), CEIL(10.01), FLOOR(10.9999) FROM dual; 结果: TRUNC是直接截断小数位 ROUND是四舍五入 CEIL和FLOOR则是和SQL SERVER一样返 ...

  7. 区分舍入函数fix/round/ceil/floor

    1)fix(n)的意义是取小于n的整数(是向零点舍入的意思是往零的方向上靠),这是一类应用在整数取值上的函数,就如同以前我们所研究的求整问题: 例如:fix(pi)=3 ; fix(3.5)=3;  ...

  8. oracle函数trunc的使用

    1.日期比较时精确到日,可以使用 TRUNC(sysdate,'dd')函数.函数支持格式有:yyyy MM  dd  hh Mi可以用   select TRUNC(sysdate,'yyyy') ...

  9. oracle函数--trunc

    作用:截取 语法:trunc(date,[fmt])   TRUNC函数,ORA-01898 精度说明符过多 TRUNC(SYSDATE)即可默认当前日期(年月日),---写到这一步就好了 TRUNC ...

随机推荐

  1. 【转】volatile和synchronized的区别

    volatile和synchronized的区别 volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取: synchronized则是锁定当前变量,只有当前 ...

  2. 5. Spark调优

    *以下内容由<Spark快速大数据分析>整理所得. 读书笔记的第五部分是讲的是Spark调优相关的知识点. 一.并行度调优 二.序列化格式优化 三.内存管理优化 四.Spark SQL性能 ...

  3. 4. 树形DP

    337. 打家劫舍 III https://leetcode-cn.com/problems/house-robber-iii/ /** * Definition for a binary tree ...

  4. .net core中的哪些过滤器 (Authorization篇)

    前言 咱们上篇说到,过滤的简单介绍,但是未介绍如何使用,接下来几篇,我来给大家讲讲如何使用,今天第一篇是Authorization.认证过滤器, 开发环境介绍 开发工具:VS2019 开发环境:.ne ...

  5. opencv 学习1 gui属性

    1.图像 先定一个小目标学习两个个功能 1.学习怎样读入一副画像,以及如何保存一副图像 2.学习三个函数cv2.imread(), cv2.imshow() , cv2.imwrite() 1.1读入 ...

  6. Nacos 多环境配置

    本文探讨Nacos作为配置中心,如何实现不同环境(开发.测试.灰度.正式)的配置管理问题 就像Maven用groupId.artifactId.version三者来定位jar包在仓库中的位置一样,Na ...

  7. 基于udp的scoket通信

    1.udp例子1 udpserver.py # udp的server,不需要进行监听也不需要建立连接 # 在启动服务之后只能被动的等待客户端发送消息过来 # 客户端发送消息的同时还会自带地址信息 # ...

  8. c++11-17 模板核心知识(八)—— enable_if<>与SFINAE

    引子 使用enable_if<>禁用模板 enable_if<>实例 使用Concepts简化enable_if<> SFINAE (Substitution Fa ...

  9. 牛客练习赛60E 旗鼓相当的对手

    dsu on tree 题目链接 点我跳转 题目大意 给你一棵以\(1\)为根节点,包含\(n\)个节点的树和一个参数 \(k\),求每个节点的"\(rating\)" \(rat ...

  10. ABBYY FineReader 14新建任务窗口给我们哪些帮助?

    当您启动ABBYY FineReader时, 新任务 将打开一个窗口,在其中您可以轻松打开.扫描.创建或对比文档. 如果您没有看到此 内置任务 窗口(比如,如果您关闭了该窗口,或者您通过在 Windo ...