oracle之TRUNC函数

TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。如果Num_digits为正数,则截取小数点后Num_digits位;如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0。
TRUNC()函数在截取时不进行四舍五入,直接截取。

针对数字的案例,如:

select trunc(123.458) from dual --123

select trunc(123.458,0) from dual --123

select trunc(123.458,1) from dual --123.4

select trunc(123.458,-1) from dual --120

select trunc(123.458,-4) from dual --0

select trunc(123.458,4) from dual --123.458

select trunc(123) from dual --123

select trunc(123,1) from dual --123

select trunc(123,-1) from dual --120

针对日期的案例,如:

select trunc(sysdate) from dual --2017/6/13  返回当天的日期

select trunc(sysdate,‘yyyy‘) from dual   --2017/1/1  返回当年第一天.

select trunc(sysdate,‘mm‘) from dual  --2017/6/1  返回当月第一天.

select trunc(sysdate,‘d‘) from dual  --2017/6/11 返回当前星期的第一天(以周日为第一天).

select trunc(sysdate,‘dd‘) from dual  --2017/6/13  返回当前年月日

select trunc(sysdate,‘hh‘) from dual  --2017/6/13 13:00:00  返回当前小时

select trunc(sysdate,‘mi‘) from dual  --2017/6/13 13:06:00  返回当前分钟

时间: 2024-10-11 00:51:44

oracle之TRUNC函数的相关文章

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去. 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数.可选项,忽略它则截去所有的小数部分. 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual;

Oracle之trunc函数使用

trunc(d1[,c1])  返回日期d1所在期间(参数c1)的第一天日期 d1日期型,c1为字符型(参数),c1默认为j(即当前日期) c1对应的参数表: 本周星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六) 本月初日期:month或mon或mm或rm 本季日期:q 本年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度) 本世纪初日期:cc或scc [返回]:日期select sysdate from dual --当时日期 select trunc

Oracle中TRUNC() 函数用法

1. 用来处理日期 TRUNC(date[, fmt]): 根据fmt格式来截取日期 SELECT TRUNC(SYSDATE,'D') FROM DUAL; --本周第一天日期 SELECT TRUNC(SYSDATE, 'MM') FROM DUAL; --本月第一天日期 SELECT TRUNC(SYSDATE, 'Q') FROM DUAL; --本季度第一天日期 SELECT TRUNC(SYSDATE,'Y') FROM DUAL; --本年度第一天日期 2. 用来处理数值 TRUN

Oracle trunc()函数的用法

--Oracle trunc()函数的用法 /**************日期  TRUNC()函数没有秒的精确 ********************/ select sysdate from dual --当时日期 select trunc(sysdate) from dual select trunc(sysdate ,'DD') from dual --今天日期 select trunc(sysdate,'d')+7 from dual --本周星期日 select trunc(sys

[转]Oracle trunc()函数的用法

原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去.忽略它则由最近的日期截去 下面是该函数的使用情况: TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mo

oracle trunc 函数处理日期格式

oracle trunc 函数处理日期格式 select TRUNC(LAST_DAY(SYSDATE))+29+20/24 from dual--下个月的某一天几点几分 2015/11/29 20:00:00 select add_months(TRUNC(SYSDATE,'mm'),1)+5/24 from dual--下个月1号的几点2015/11/1 5:00:00 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  -

Oracle的decode、sign、trunc函数

原文http://knowyouknowme.iteye.com/blog/574974 一.decode 在Oracle/PLSQL中,  decode 具有和 IF-THEN-ELSE 一样的功能. decode 函数语法如下: decode( expression , search , result [, search , result]... [, default] ) expression 要比较的表达式. search 要与expression 比较的字段.. result 如果ex

Oracle trunc()函数

--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.select trunc(sysdate,'yy') from dual --2013-01-01 返回当年第一天4.select

oracle的round函数和trunc函数

--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.select trunc(sysdate,'yy') from dual --2013-01-01 返回当年第一天4.select