Oracle中round和trunc函数的区别是什么?

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;

更多web开发知识,请查阅 HTML中文网 !!

以上就是Oracle中round和trunc函数的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    wps插入罗马字符页码|wps插入罗马数字

    wps插入罗马字符页码|wps插入罗马数字,罗马,页码,插入,字符,1.wps怎样插入罗马数字WPS里面插入罗马数字的方法(以WPS文字为例): (1)使用WPS里面

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角