国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

在Oracle中計(jì)算時(shí)間差的方法

2024-08-29 13:32:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
如何在oracle中計(jì)算時(shí)間差呢?計(jì)算時(shí)間差是oracle data數(shù)據(jù)類(lèi)型的一個(gè)常見(jiàn)問(wèn)題。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è)問(wèn)題的答案,讓我們進(jìn)行一個(gè)簡(jiǎn)單的sql *plus查詢(xún)。

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)的問(wèn)題。

select
   (sysdate-(sysdate-3.111))*1440
from
   dual;

(sysdate-(sysdate-3.111))*1440
------------------------------
                    4479.83333

當(dāng)然,我們可以用round函數(shù)(即取整函數(shù))來(lái)解決這個(gè)問(wèn)題,但是要記住我們必須首先把date數(shù)據(jù)類(lèi)型轉(zhuǎn)換成number數(shù)據(jù)類(lèi)型。

select
   round(to_number(sysdate-(sysdate-3.111))*1440)
from
   dual;

round(to_number(sysdate-(sysdate-3.111))*1440)
----------------------------------------------
                                          4480

我們可以用這些函數(shù)把一個(gè)消逝時(shí)間近似轉(zhuǎn)換成分鐘并把這個(gè)值寫(xiě)入oracle表格中。在這個(gè)例子里,我們有一個(gè)離線(xiàn)(logoff)系統(tǒng)級(jí)觸發(fā)機(jī)制來(lái)計(jì)算已經(jīng)開(kāi)始的會(huì)話(huà)時(shí)間并把它放入一個(gè)oracle statspack user_log擴(kuò)展表格之中。

update
   perfstat.stats$user_log
set
   elapsed_minutes =
   round(to_number(logoff_time-logon_time)*1440)
where
   user = user_id
and
   elapsed_minutes is null;
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苏尼特左旗| 宝清县| 怀仁县| 西宁市| 綦江县| 肇东市| 漳平市| 邯郸县| 河西区| 邢台县| 尤溪县| 安岳县| 安泽县| 林州市| 临沧市| 扶风县| 肥乡县| 乌什县| 沧州市| 白河县| 虞城县| 安徽省| 湘潭市| 和平县| 织金县| 晋宁县| 清远市| 凉城县| 开远市| 潢川县| 额尔古纳市| 咸宁市| 宣城市| 肇州县| 鹤庆县| 科技| 乐至县| 张家川| 达拉特旗| 麻城市| 宁德市|