oracle中trunc()函数怎么用?

如题所述

1.TRUNC(for dates)
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
下面是该函数的使用情况:
TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi am')
='24-Nov-1999 12:00:00 am'
TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am'
trunc(sysdate,'yyyy') --返回当年第一天。
trunc(sysdate,'mm') --返回当月第一天。
trunc(sysdate,'d') --返回当前星期的第一天。
trunc(sysdate,'dd')--返回当前年月日
2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-28
/**************日期********************/
1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual --123.458
15.select trunc(123) from dual --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120来自:求助得到的回答本回答被网友采纳
第1个回答  推荐于2018-02-28
TRUNC
语法: TRUNC(x[,y])
功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上.

trunc(sysdate)=to_date('20121231','yyyymmdd')本回答被网友采纳
第2个回答  2012-12-31
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入

Oracle trunc()函数的用法
Oracle的trunc()函数在数据库中起着重要作用,用于截取日期或时间的不同部分。这个函数可以根据指定的格式,将日期或时间简化到指定的精确度。以下是一些使用trunc()函数的例子:1. 当执行select trunc(sysdate) from dual; 时,它会返回当天的日期,例如2011-03-18,忽略了时间部分。2. 对于月份的处理...

oracle中trunc()函数怎么用?
TRUNC(number[,decimals])其中:number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分 下面是该函数的使用情况:TRUNC(89.985,2)=89.98 TRUNC(89.985)=89 TRUNC(89.985,-1)=80

Oracle trunc( )函数的用法是什么?
1.selecttrunc(sysdate)fromdual--2011-3-18今天的日期为2011-3-18\\x0d\\x0a2.selecttrunc(sysdate,'mm')fromdual--2011-3-1返回当月第一天.\\x0d\\x0a3.selecttrunc(sysdate,'yy')fromdual--2011-1-1返回当年第一天\\x0d\\x0a4.selecttrunc(sysdate,'dd')fromdual--2011-3-18返回当前年...

“trunc(含义是什么?
在Oracle数据库中,TRUNC函数是一个用于日期类型的截取操作工具。它的主要作用是将日期时间值截断到特定的精度,如天、月、年等。通过使用SELECT TRUNC(SYSDATE) FROM DUAL;这一基本语句,我们可以看到TRUNC(SYSDATE)默认情况下会将系统当前日期截取到日期部分,如"2012-12-19 14:30:50"会变为"2012-12...

oracle中trunc(sysdate)+7+1\/24是啥意思?多谢了
1. `sysdate`是Oracle数据库中的系统当前日期和时间。它返回数据库服务器当前的日期和时间。2. `trunc`函数用于将日期时间值截断为当天日期,时间部分设置为当天的开始时刻。例如,如果当前时间是下午三点,那么`trunc`将返回当天日期的零点时刻。3. `+7`操作就是在截断日期的基础上加上7天,得到一个...

oracle中trunc函数怎样使用?
TRUNC(number,num_digits)Number 需要截尾取整的数字。Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。TRUNC()函数截取时不进行四舍五入 \/ 9.select trunc(123.458) from dual --123 10.select trunc(123.458,0) from dual --123 11.select trunc(123.458,1) from dual --...

oracle中trunc的用法请教
select trunc(sysdate,'day') ss from table 在这里的trunc 是取得本周的第一天 如果仅仅写trunc(sysydate)不使用参数表示截取到日 给你举个例子:select trunc(sysdate,'DD') AA,trunc(sysdate,'MM') BB,trunc(sysdate,'yyyy') CC,trunc(sysdate,'day')from dual;得到的结果:AA BB ...

oracle中 trunc(sysdate)+7+1\/24是啥意思?多谢了
在Oracle数据库中,`trunc(sysdate)+7+1\/24` 的表达式含义相当直观。`trunc(sysdate)` 是对当前系统日期(sysdate)进行截断,保留日期部分,忽略时间,例如`trunc(sysdate, 'dd')` 将返回2011年5月11日的00:00:00,`trunc(sysdate, 'mm')` 则只保留月份,结果为2011年5月1日,`trunc(sysdate,...

...0.8=1 2.1=3 2.6=3 ,也就是说0.1进1,这个怎么实现
如果是Oracle数据库的话,可以使用TRUNC函数,用法如下 \/ TRUNC(number,num_digits)Number 需要截尾取整的数字。Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。TRUNC()函数截取时不进行四舍五入 \/ 可以直接截取小数点之前的整数部分,然后加上1即可;举例:select trunc(123.1)+1 ...

oracle ORA-01840:输入值对于日期格式不够长,请高手帮忙。有非法数据...
其具体的语法格式如下:TRUNC(date,[fmt])其中:date 为必要参数,是输入的一个日期值 fmt 参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去 下面是该函数的使用情况:trunc(sysdate,'yyyy') --返回当年第一天.trunc(sysdate,'mm') --返回当月第一天.tru...

相似回答