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

 

1.日期处理用法:

  1. select trunc(sysdate) from dual –2017-07-31 今天的日期为2017-07-31
  2. select trunc(sysdate, ‘mm’) from dual –2017-07-01 返回当月第一天.
  3. select trunc(sysdate,’yy’) from dual –2017-01-01 返回当年第一天
  4. select trunc(sysdate,’dd’) from dual –2017-07-31 返回当前年月日
  5. select trunc(sysdate,’yyyy’) from dual –2017-01-01 返回当年第一天
  6. select trunc(sysdate,’d’) from dual –2017-07-30 (星期天)返回当前星期的第一天
  7. select trunc(sysdate, ‘hh’) from dual –2017-07-31 14:00:00 当前时间为14:09 
  8. select trunc(sysdate, ‘mi’) from dual –2017-07-31 14:10:00 TRUNC()函数没有秒的精确
  9. select TRUNC(add_months(SYSDATE,-1),’MM’) from dual –返回上个月第一天 2017-06-01
  10. select trunc(sysdate ,’HH24′) from dual;–2017-07-31 14:00:00,返回本小时的开始时间
  11. select trunc(sysdate ,’CC’) from dual –本世纪开始时间
  12. select trunc(LAST_DAY(sysdate),’dd’) from dual –本月最后一天
  13. select trunc(sysdate,’year’) from dual –本年开始日期
  14. select trunc(sysdate,’month’) from dual –本月开始日期
  15. select trunc(sysdate,’dy’)+7 from dual –本周星期日
  16. select trunc(sysdate,’day’)+7 from dual –本周星期日
  17. select trunc(sysdate,’q’) from dual–本季开始日期

2.数字用法
/
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
/

select trunc(123.456) from dual –123
select trunc(123.456,0) from dual –123
select trunc(123.456,1) from dual –123.4
select trunc(123.456,-1) from dual –120
select trunc(123.456,-4) from dual –0
select trunc(123.456,4) from dual –123.456
select trunc(123) from dual –123
select trunc(123,1) from dual –123
select trunc(123,-1) from dual –120

全部评论

联系我们

025-66041049

在线咨询:点击这里给我发消息

邮件:face2obejct@gmail.com

工作时间:8:00-23:50

QR code