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

首頁 > 數據庫 > Oracle > 正文

Oracle計算時間差為毫秒的實現代碼

2024-08-29 13:59:55
字體:
來源:轉載
供稿:網友

Oracle 中我們知道用 TO_DATE 函數可以進行秒、分、時、天、月、年、周等時間差的計算,但是毫秒卻不好計算,TO_DATE 函數只能精確到秒,毫秒則只能用 TO_TIMESTAMP 函數,但是這個函數不像 TO_DATE 這樣直接減出來的差值就是 NUMBER 類型,如果用 TO_NUMBER 函數轉換也會報錯。

這里我是用分隔字符串單獨計算毫秒部分,如果有更好的辦法,請大家分享一下,下面是查詢時間差為毫秒的模板(字段1 – 字段2):

SELECT ( (  (TO_TIMESTAMP(字段1, 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)  -  (TO_TIMESTAMP(字段2, 'YYYY-MM-DD HH24:MI:SS.FF9') + 0) ) * 24 * 60 * 60 + TO_NUMBER (  '0' ||  (    TO_NUMBER(SUBSTR(字段1, INSTR(字段1, '.')))     -     TO_NUMBER(SUBSTR(字段2, INSTR(字段2, '.')))  ) )) * 1000FROM 表名

這里是相差的毫秒數,如果需要顯示小數的秒請刪除 “( ) * 1000”這部分,下面是個測試代碼,直接運行:

SELECT ( (  (TO_TIMESTAMP('2016-04-13 17:13:50.998', 'YYYY-MM-DD HH24:MI:SS.FF9') + 0)  -  (TO_TIMESTAMP('2016-04-13 17:13:47.235', 'YYYY-MM-DD HH24:MI:SS.FF9') + 0) ) * 24 * 60 * 60 + TO_NUMBER (  '0' ||  (    TO_NUMBER(SUBSTR('2016-04-13 17:13:50.998', INSTR('2016-04-13 17:13:50.998', '.')))     -     TO_NUMBER(SUBSTR('2016-04-13 17:13:47.235', INSTR('2016-04-13 17:13:50.235', '.')))  ) )) * 1000FROM DUAL

結果為:3763

 

注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 周口市| 文成县| 大方县| 祥云县| 南充市| 喀什市| 渑池县| 阜城县| 宜阳县| 棋牌| 定陶县| 合阳县| 文水县| 盐城市| 连平县| 榆社县| 靖州| 侯马市| 宁化县| 出国| 宁远县| 漠河县| 五华县| 扬中市| 兴业县| 周至县| 甘南县| 南澳县| 黄平县| 阿坝| 龙岩市| 泰宁县| 饶阳县| 修文县| 赤壁市| 鄂伦春自治旗| 沽源县| 牡丹江市| 萝北县| 桐梓县| 博野县|