国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舒兰市| 道孚县| 龙山县| 昌乐县| 中阳县| 天柱县| 米脂县| 抚顺市| 榕江县| 昆明市| 新河县| 二手房| 土默特右旗| 筠连县| 印江| 额尔古纳市| 漳平市| 兴化市| 鄂伦春自治旗| 延津县| 定边县| 长葛市| 瑞丽市| 蒙阴县| 鸡东县| 阿克| 同江市| 玉山县| 凭祥市| 仪陇县| 青铜峡市| 河曲县| 渭源县| 绥德县| 社旗县| 崇文区| 延川县| 井冈山市| 资阳市| 江陵县| 永善县|