亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle中的Round和Trunc:

系統 1760 0

一、 Oracle 中的 Round 和Trunc:

如同對數字進行四舍五入和按位截取一樣, Oracle 對時間日期也提供了這兩種功能。但比起對數字進行四舍五入和截取比較復雜:這是因為時間日期是有格式的。下面看看這兩個函數的定義和用途:

ROUND (date [, format])

TRUNC(date [, format])

Round 函數對日期進行“四舍五入”,Trunc函數對日期進行截取。如果我們不指定格式的話, Round 會返回一個最接近date參數的日期,而Trunc函數只會簡單的截取時分秒部分,返回年月日部分。

二、 Round 和Trunc函數示例:

SQL > ? select ?to_char(sysdate,? ' yyyy-mm-dd?hh24:mi:ss ' )?now_date,
??
2 ???????????? to_char( Round (sysdate), ' yyyy-mm-dd?hh24:mi:ss '
)?round_date,
??
3 ???????????? to_char(Trunc(sysdate), ' yyyy-mm-dd?hh24:mi:ss '
)?trunc_date
??
4 ???? from
?dual;

NOW_DATE???????????????????????????????ROUND_DATE?????????????????????????????TRUNC_DATE
-- ------------------------------------?--------------------------------------?----------------------

2008 - 06 - 30 ? 14 : 52 : 13 ???????????????????? 2008 - 07 - 01 ? 00 : 00 : 00 ???????????????????? 2008 - 06 - 30 ? 00 : 00 : 00


這是一個典型的例子,由于我們沒有指定 round 和trunc函數的格式,所以 Oracle 默認采用了按日期時間的格式,該例子中當前的時間是下午 14:52分,已經超過了12:00 AM這個中界線,所以 Round 返回07-01日而非06-30日。而Trunc不管三七二十一直接截取前面日期部分返回。

另外一個值得注意的地方是這兩個函數返回的時分秒都是00:00:00,即一天的開始時間(對于12小時制的返回的是12:00:00 AM)。

三、指定格式的 Round 和Trunc函數示例:

如果我們對 Round 函數和Trunc函數指定了格式,事情就變得有點復雜了,不過核心思想還是不變: Round 是四舍五入,Trunc是截取。舉個例子來說,假如我們以年為格式,則現在 Oracle 的判斷是基于年來判斷,超過一年的一半(即6月30日), Round 函數則返回下一年了,Trunc函數依然返回當前年。

SQL > ? select ?sysdate?"Now?date",
??
2 ???????????? Round (sysdate,? ' yyyy '
)?Round_year,
??
3 ???????????? Trunc(sysdate,? ' yyyy '
)?Trunc_year
??
4 ???? from
?dual;

Now?date???ROUND_YEAR?TRUNC_YEAR
-- --------?----------?----------

30 - 6月? - 08 ? 01 - 1月? - 08 ? 01 - 1月? - 08


關于這兩個函數可用的格式非常多,但日常應用中用得比較多的基本上就這幾個,以 Round 函數為例:

select ? Round (sysdate,? ' Q ' )?Rnd_Q,
????????
Round (sysdate,? ' Month '
)?Rnd_Month,
????????
Round (sysdate,? ' WW '
)?Rnd_Week,
????????
Round (sysdate,? ' W '
)?Rnd_Week_again,
????????
Round (sysdate,? ' DDD '
)?Rnd_day,
????????
Round (sysdate,? ' DD '
)?Rnd_day_again,
????????
Round (sysdate,? ' DAY '
)?Rnd_day_of_week,
????????
Round (sysdate,? ' D '
)?Rnd_day_of_week_again,
????????
Round (sysdate,? ' HH12 '
)?Rnd_hour_12,
????????
Round (sysdate,? ' HH24 '
)?Rnd_hour_24,
????????
Round (sysdate,? ' MI '
)?Rnd_minute
??
from ?dual

?

?

四、用trunc函數處理日期

? 期用例 '2008-11-28 12:59:59'周五 ??

1.沒有fmt部分時

???語句: ? SELECT?? TRUNC(TO_DATE('2008-11-28 12:00:01','YYYY-MM-DD hh24:mi:ss')) FROM?? DUAL;
??????????結果: 2008-11-28? ?

????????

2.得到最當前日期之前的最近的一個周日的日期

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'D') FROM?? DUAL;???
???結果: 2008-11-23 周日

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'D')+1 FROM?? DUAL;???
???結果: 2008-11-24 周一

?

3.得到最當前日期的所在月份的第一天

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'MM') FROM?? DUAL;???
???結果: 2008-11-1

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'MM')-1 FROM?? DUAL;?

???結果: 2008-10-31

?

4.得到最當前日期的所在年份的第一天

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'Y') FROM?? DUAL;???
???結果: 2008-1-1

???語句: SELECT?? TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'), 'Y')-1 FROM?? DUAL;?

???結果: 2007-12-31

Oracle中的Round和Trunc:


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩精品亚洲人成在线播放 | 久久99热这里只有精品国产 | 久久性生活片 | 成人午夜毛片在线看 | www神马我不卡影院免费观看 | 看毛片视频| 亚洲www色 | 亚洲网址在线观看 | 一级毛片子 | 国产香蕉98碰碰久久人人 | 亚洲综合区小说区激情区噜噜 | 一区二区国产一区二区a4yy | 精品动漫中文字幕一区二区三区 | 亚洲精品日韩在线一区 | 国产精品香蕉 | 成年女人a毛片免费视频 | 久久久久久久免费视频 | 国产精品免费观看 | 国产成人一区免费观看 | 天天操天天干视频 | 99热久久国产精品一区 | 大陆一级毛片免费视频观看i | 欧美成人交tv免费观看 | 五月婷婷激情网 | 亚洲第一区视频在线观看 | 欧美大片在线观看成人 | 国国产自国偷自产第38页 | 亚洲国产精品久久久久婷婷软件 | 热99在线视频 | 国产精品123区 | 人人爱天天做夜夜爽 | a集毛片 | 亚洲免费在线视频 | 国产国产精品人在线观看 | 日韩经典中文字幕 | 四虎影在线永久免费观看 | 国产男女性特黄录像 | 精品久久久久久中文字幕2017 | 精品一区二区三区的国产在线观看 | aaa黑人一级毛片 | 免费aa毛片 |