oracle tranc,oracle函数trunc的使用
2011-08-23 17:20?67383人閱讀?評論(3)?收藏?舉報
?分類:
oracle學習(9)
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
1、日期比較時精確到日,可以使用 TRUNC(sysdate,'dd')函數。
函數支持格式有:yyyy MM? dd? hh Mi
可以用 select TRUNC(sysdate,'yyyy') from dual? 看看結果是什么。
不要按下面的方式比較日期:
TO_DATE(TO_CHAR(LOGTIME,'YYYY-MM-DD'), 'YYYY-MM-DD') < TO_DATE(TO_CHAR(SYSDATE - $DAYNUM$,'YYYY-MM-DD'), 'YYYY-MM-DD')
2、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(sysdate) from dual
select trunc(sysdate ,'DD') from dual --今天日期
select trunc(sysdate,'d')+7 from dual --本周星期日
select trunc(sysdate,'dy')+7 from dual? --本周星期日
select trunc(sysdate,'day')+7 from dual --本周星期日
select trunc(sysdate,'q') from dual--本季開始日期
select trunc(sysdate,'month') from dual --本月開始日期
select trunc(sysdate ,'mm') from dual --本月開始日期
select trunc(sysdate,'year') from dual? --本年開始日期
select trunc(sysdate ,'yyyy') from dual --本年開始日期
select trunc(sysdate ,'HH24') from dual --本小時開始時間
select trunc(sysdate ,'MI') from dual --本分鐘開始時間
select trunc(sysdate ,'CC') from dual --本世紀開始時間
select trunc(LAST_DAY(sysdate),'dd') from dual --本月最后一天
3、round(10.2356,2)函數可以對數字按指定保留小數位數四舍五入,這個函數還可以對日期四舍五入
select round(sysdate,'yyyy') from dual 四舍五入到年
select round(sysdate,'mm') from dual 四舍五入到月
select round(sysdate,'dd') from dual 四舍五入到日
select round(sysdate,'hh') from dual 四舍五入到小時
select round(sysdate,'mi') from dual 四舍五入到分鐘
4、TRUNC還可以對number類型使用,
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
總結
以上是生活随笔為你收集整理的oracle tranc,oracle函数trunc的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世上有多少神话故事?
- 下一篇: oracle 空值 group by,为