久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

在Oracle9i中Oracle DATA計(jì)算時(shí)間差

瀏覽:12日期:2023-11-22 18:59:49
計(jì)算時(shí)間差是Oracle DATA數(shù)據(jù)類型的一個(gè)常見問題。Oracle支持日期計(jì)算,你可以創(chuàng)建諸如“日期1-日期2”這樣的表達(dá)式來(lái)計(jì)算這兩個(gè)日期之間的時(shí)間差。 一旦你發(fā)現(xiàn)了時(shí)間差異,你可以使用簡(jiǎn)單的技巧來(lái)以天、小時(shí)、分鐘或者秒為單位來(lái)計(jì)算時(shí)間差。為了得到數(shù)據(jù)差,你必須選擇合適的時(shí)間度量單位,這樣就可以進(jìn)行數(shù)據(jù)格式隱藏。 使用完善復(fù)雜的轉(zhuǎn)換函數(shù)來(lái)轉(zhuǎn)換日期是一個(gè)誘惑,但是你會(huì)發(fā)現(xiàn)這不是最好的解決方法。 round(to_number(end-date-start_date))- 消逝的時(shí)間(以天為單位); round(to_number(end-date-start_date)*24)- 消逝的時(shí)間(以小時(shí)為單位); round(to_number(end-date-start_date)*1440)- 消逝的時(shí)間(以分鐘為單位)。 顯示時(shí)間差的默認(rèn)模式是什么?為了找到這個(gè)問題的答案,讓我們進(jìn)行一個(gè)簡(jiǎn)單的SQL *Plus查詢。 SQL> select sysdate-(sysdate-3) from dual;SYSDATE-(SYSDATE-3)------------------- 3這里,我們看到了Oracle使用天來(lái)作為消逝時(shí)間的單位,所以我們可以很輕易的使用轉(zhuǎn)換函數(shù)來(lái)把它轉(zhuǎn)換成小時(shí)或者分鐘。然而,當(dāng)分鐘數(shù)不是一個(gè)整數(shù)時(shí),我們就會(huì)碰到放置小數(shù)點(diǎn)的問題。 Select(sysdate-(sysdate-3.111))*1440fromdual;(SYSDATE-(SYSDATE-3.111))*1440------------------------------4479.83333當(dāng)然,我們可以用ROUND函數(shù)(即取整函數(shù))來(lái)解決這個(gè)問題,但是要記住我們必須首先把DATE數(shù)據(jù)類型轉(zhuǎn)換成NUMBER數(shù)據(jù)類型。 Selectround(to_number(sysdate-(sysdate-3.111))*1440)fromdual;ROUND(TO_NUMBER(SYSDATE-(SYSDATE-3.111))*1440)---------------------------------------------- 4480我們可以用這些函數(shù)把一個(gè)消逝時(shí)間近似轉(zhuǎn)換成分鐘并把這個(gè)值寫入Oracle表格中。在這個(gè)例子里,我們有一個(gè)離線(logoff)系統(tǒng)級(jí)觸發(fā)機(jī)制來(lái)計(jì)算已經(jīng)開始的會(huì)話時(shí)間并把它放入一個(gè)OracleSTATSPACK USER_LOG擴(kuò)展表格之中。 Updateperfstat.stats$user_logsetelapsed_minutes =round(to_number(logoff_time-logon_time)*1440)whereuser = user_idandelapsed_minutes is NULL;
主站蜘蛛池模板: 胶州市| 济源市| 甘南县| 获嘉县| 芒康县| 鄂托克旗| 阿鲁科尔沁旗| 章丘市| 宁陕县| 宜兴市| 林西县| 刚察县| 珲春市| 城步| 舞阳县| 清水河县| 拜城县| 灵石县| 竹山县| 龙川县| 和硕县| 香港 | 襄垣县| 定兴县| 武穴市| 志丹县| 望江县| 日土县| 八宿县| 格尔木市| 油尖旺区| 缙云县| 闸北区| 奉贤区| 棋牌| 阳原县| 白朗县| 云安县| 壶关县| 县级市| 龙门县|