-1
我正在將這個查詢寫入PLM SQL數據庫的ALM查詢生成器中。 我有一個時間格式爲"YYYY-MM-DD HH:MM:SS"
的字段。我想從PL/SQL中的DBStamp數據類型中分離數據和時間
我基本上要分開Date
和Time
和使用Lead
或Lag
函數來計算它後面的行之間TIME
差異。
或者我們可以做到這一點沒有分開的日期和時間?
我正在將這個查詢寫入PLM SQL數據庫的ALM查詢生成器中。 我有一個時間格式爲"YYYY-MM-DD HH:MM:SS"
的字段。我想從PL/SQL中的DBStamp數據類型中分離數據和時間
我基本上要分開Date
和Time
和使用Lead
或Lag
函數來計算它後面的行之間TIME
差異。
或者我們可以做到這一點沒有分開的日期和時間?
的Oracle 11g設置:
CREATE TABLE table_name (time) AS
SELECT TIMESTAMP '2015-12-20 00:00:00.0000' FROM DUAL UNION ALL
SELECT TIMESTAMP '2015-12-21 00:00:00.0000' FROM DUAL UNION ALL
SELECT TIMESTAMP '2015-12-21 03:20:00.0000' FROM DUAL UNION ALL
SELECT TIMESTAMP '2015-12-21 03:20:01.2300' FROM DUAL;
查詢1:
SELECT time,
LAG(time) OVER (ORDER BY time) AS prev_time,
time - LAG(time) OVER (ORDER BY time) AS difference
FROM table_name;
結果:
TIME PREV_TIME DIFFERENCE
------------------ ------------------ -----------
20-DEC-15 00.00.00
21-DEC-15 00.00.00 20-DEC-15 00.00.00 1 0:0:0.0
21-DEC-15 03.20.00 21-DEC-15 00.00.00 0 3:20:0.0
21-DEC-15 03.20.01 21-DEC-15 03.20.00 0 0:0:1.23
有沒有這樣的東西作爲一個「PL/SQL數據庫」 。這是一個Oracle數據庫。爲什麼你需要一個存儲過程呢? –
該字段是否有'DATE'類型或'CHAR'類型,恰好具有格式'YYYY-MM-DD HH24:MI:SS'?希望前者。 – MT0
@ MT0 - 數據類型爲DBTimeStamp – amann