[英]Get ISO-8601(SCORM 2004) Duration Format in Seconds using MySQL
[英]Compare sysdate with iso 8601 using oracle
問題是我當前要解決的問題是選擇一個日期時間值(iso 8601),並將其與sysdate和time進行比較,並且sysdate / time必須為過去的20分鍾。
我嘗試使用TO_TIMESTAMP
並嘗試轉換SYSDATE
但問題不斷出現。
select * from table
where timestamp_from_the_table > to_date(systimestamp, 'YYYY-MM-DD"T"hh24:mi:ss.ff3TZR') -INTERVAL '30' MINUTE
我想要的結果是有一個帶有來自表的時間戳的列表,但僅以過去20分鍾的時間進行過濾。
希望可以有人幫幫我。 提前致謝。
永遠不要將日期值存儲為字符串,即VARCHAR2
!
您可以運行
WHERE TO_TIMESTAMP_TZ(timestamp_from_the_table, 'YYYY-MM-DD"T"hh24:mi:ss.ff3TZR')
> systimestamp - INTERVAL '30' MINUTE
創建虛擬列可能是一種選擇,即
ALTER TABLE your_table ADD (real_timestamp TIMESTAMP(3) WITH TIME ZONE (TO_TIMESTAMP_TZ(timestamp_from_the_table, 'YYYY-MM-DD"T"hh24:mi:ss.ff3TZR') ));
那你就可以跑
WHERE real_timestamp > systimestamp - INTERVAL '30' MINUTE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.