Oracle trunc和round的区别
1、关于trunc 和round函数比较
整体概括:
round函数 四舍五入
trunc函数 直接截取
对于时间:
Round函数对日期进行“四舍五入”,Trunc函数对日期进行截取。如果我们不指定格式的话,Round会返回一个最接近date参数的日期,而Trunc函数只会简单的截取时分秒部分,返回年月日部分
对于数字:
Round函数对数字同样进行“四舍五入”,Trunc函数截取时不进行四舍五入,可以指明保留小数点后面的位数。
2、Round、Trunc用法
- /**************************For date****************************/
- --Trunc函数
- SELECT TRUNC(SYSDATE), -- 今天的日期为 2014-05-08
- TRUNC(SYSDATE, 'YYYY'), --返回当年第一天 2014-01-01 yyyy/yy/year 年
- TRUNC(SYSDATE, 'MM'), --返回当月第一天 2014-05-01 mm/month 月
- TRUNC(SYSDATE, 'DD'), --返回当前年月日 2014-05-08 d/day 周
- TRUNC(SYSDATE, 'D'), --(星期天)返回当前星期的第一天 2014-05-04
- TRUNC(SYSDATE, 'HH'), --返回当前时间精确小时 2014-05-08 11:00:00
- TRUNC(SYSDATE, 'MI') -- 返回当前时间精确分钟 2014-05-08 11:06:00 TRUNC()函数没有秒的精确
- FROM DUAL;
- --Round函数
- select Round(sysdate, 'Q') Rnd_Q, --2014-04-01
- Round(sysdate, 'Month') Rnd_Month, --2014-05-01
- Round(sysdate, 'WW') Rnd_Week, --2014-05-07
- Round(sysdate, 'W') Rnd_Week_again, --2014-05-08
- Round(sysdate, 'DDD') Rnd_day, --2014-05-08
- Round(sysdate, 'DD') Rnd_day_again, --2014-05-08
- Round(sysdate, 'DAY') Rnd_day_of_week, --2014-05-11
- Round(sysdate, 'D') Rnd_day_of_week_again, --2014-05-11
- Round(sysdate, 'HH12') Rnd_hour_12, --2014-05-08 12:00:00
- Round(sysdate, 'HH24') Rnd_hour_24, --2014-05-08 12:00:00
- Round(sysdate, 'MI') Rnd_minute --2014-05-08 11:52:00
- from dual;
- /****************************For number************************/
- /**
- --TRUNC(number,num_digits)
- Number 需要截尾取整的数字。
- Num_digits 指明需保留小数点后面的位数。可选项,忽略他则截去任何的小数部分,Num_digits 的默认值为 0,
- --此参数够为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
- TRUNC()函数截取时不进行四舍五入**/
- --TRUNC函数
- select TRUNC(123.458), --123
- TRUNC(123.458, 0), --123
- TRUNC(123.458, 1), --123.4
- TRUNC(123.458, 2), --123.45
- TRUNC(123.458, 3), --123.458
- TRUNC(123.458, 4), --123.458
- TRUNC(123.458, -1), --120
- TRUNC(123.458, -2), --100
- TRUNC(123.458, -3), --0
- TRUNC(123.458, -4), --0
- TRUNC(123), --123
- TRUNC(123, 1), --123
- TRUNC(123, 2), --123
- TRUNC(123, 3), --123
- TRUNC(123, 4) --123
- from dual;
- --Round函数
- select Round(123.458), --123
- Round(123.458, 0), --123
- Round(123.458, 1), --123.5
- Round(123.458, 2), --123.46
- Round(123.458, 3), --123.458
- Round(123.458, 4), --123.458
- Round(123.458, -1), --120
- Round(123.458, -2), --100
- Round(123.458, -3), --0
- Round(123.458, -4), --0
- Round(123), --123
- Round(123, 1), --123
- Round(123, 2), --123
- Round(123, 3), --123
- Round(123, 4) --123
- from dual;
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]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入
trunc(x[,y])
【功能】返回x按精度y截取后的值
【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。
【返回】数字
【示例】 select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual;
返回:5555.66 5500 5555
【相近】round(x[,y]) 返回截取后的值,用法同trunc(x[,y]),只是要做四舍五入
Oracle trunc和round的区别的更多相关文章
- 【测试】trunc和round的区别
trunc是截断:round是四舍五入:下面通过一个例子具体看一下trunc和round的不同 SQL),trunc() from dual; TRUNC() TRUNC() ------------ ...
- Oracle trunc()函数的用法及四舍五入 round函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- Oracle trunc函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- Oracle trunc()函数的用法--来着心静禅定ing
1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指 ...
- [转]Oracle trunc()函数的用法
原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元 ...
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
- oracle的oci和thin区别(数据源)
我是今天看到tomcat数据源的配置时,想起来这个问题,刚开始还不晓得thin是什么东西! database.url=jdbc:oracle:thin:angel/oracle@192.168.55. ...
- oracle获取本月第一天和最后一天及Oracle trunc()函数的用法
select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...
- Oracle trunc()函数
Oracle trunc()函数的用法 --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysd ...
随机推荐
- sudo 命令详解
在linux系统中,由于root的权限过大,一般情况都不使用它.只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令. 一.su和sudo命令对比 ...
- 学好Python不加班系列之SCRAPY爬虫框架的使用
scrapy是一个爬虫中封装好的一个明星框架.具有高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式. 对于初学者来说还是需要有一定的基础作为铺垫的学习.我将从下方的思维导图中进行逐步的解析 ...
- rocketmq广播消息的(五)
一.简介 广播消费指的是:一条消息被多个consumer消费,即使这些consumer属于同一个ConsumerGroup,消息也会被ConsumerGroup中的每个Consumer都消费一次,广播 ...
- GoLang设计模式15 - 策略模式
策略模式是一种行为型设计模式.通过策略模式,可以在运行时修改一个对象的行为. 接下来仍然是通过例子来了解策略模式.比如说内存缓存,这是我们在开发中经常使用的东西,大家应该都有一定的了解,接下来就用内存 ...
- Django笔记&教程 3-4 模板继承
Django 自学笔记兼学习教程第3章第4节--模板继承 点击查看教程总目录 在介绍具体的技术之前,先介绍在什么样的场景中,需要使用这样的技术,我觉得这对于新手理解起来很重要. 一般来说,要渲染一个页 ...
- mongodb(一)
文档是 MongoDB 的核心,类似于 SQLite 数据库(关系数据库)中的每一行数据.多个键及其关联的值放在一起就是文档.在 Mongodb 中使用一种类 json 的 bson 存储数据,bso ...
- 论文解读(LLE)《Nonlinear Dimensionality Reduction by Locally Linear Embedding》and LLE
论文题目:<Nonlinear Dimensionality Reduction by Locally Linear Embedding > 发表时间:Science 2000 论文地址 ...
- FastAPI(六十二)实战开发《在线课程学习系统》需求分析
前言 基础的分享我们已经分享了六十篇,那么我们这次分享开始将用一系列的文章分享实战课程.我们分享的系统是在线学习系统.我们会分成不同的模块进行分享.我们的目的是带着大家去用fastapi去实战一次,开 ...
- 『与善仁』Appium基础 — 12、Appium的安装详解
目录 (一)Appium server安装 方式一:(桌面方式:推荐) 1.Appium Desktop下载 2.Appium Desktop安装 3.Appium Desktop使用 方式二:(No ...
- CF1550D Excellent Arrays
考虑每个数一定是这个形式: \(i + x,i - x\) 所以如果我们要构造一个最大的数组. 那一定是这样的形式: 有一半为\(i + x\),有一半\(i - x\) 那么我们发现每个数有这样一个 ...