2013-06-04 32 views
0

我試圖從當前時間恢復比5分鐘早的記錄。以下是我迄今爲止,但它似乎帶回的所有記錄不只是那些它們是超過5分鐘以上:如何從oracle使用unix日期/時間選擇超過5分鐘的記錄

SELECT COUNT(DISTINCT "DOCUMENT_QUEUE"."DOCUMENT_NUMBER") as "Records" 
FROM "MAGINUS"."DOCUMENT_QUEUE" "DOCUMENT_QUEUE" 
WHERE to_date('01-JAN-1970', 'dd-MON-yyyy HH:MI:SS') + (DOCUMENT_QUEUE.CREATION_DATE/86400) > sysdate - 38/1440 
ORDER BY "DOCUMENT_QUEUE"."DOCUMENT_NUMBER" 

回答

-1

使用NOW()(date_to_unix_ts(DOCUMENT_QUEUE.CREATION_DATE) - 86400)定義範圍。

+0

ANKIT - 這些都是MySQL的功能; Oracle不支持它們。 –

2

這應該工作:

SELECT COUNT(DISTINCT "DOCUMENT_QUEUE"."DOCUMENT_NUMBER") as "Records" 
FROM "MAGINUS"."DOCUMENT_QUEUE" "DOCUMENT_QUEUE" 
WHERE round(to_number(DOCUMENT_QUEUE.CREATION_DATE-sysdate)*1440) > 15 
ORDER BY "DOCUMENT_QUEUE"."DOCUMENT_NUMBER" 
6

使用interval literals

SELECT COUNT(DISTINCT "DOCUMENT_QUEUE"."DOCUMENT_NUMBER") as "Records" 
FROM "MAGINUS"."DOCUMENT_QUEUE" "DOCUMENT_QUEUE" 
WHERE DOCUMENT_QUEUE.CREATION_DATE < SYSDATE - INTERVAL '5' MINUTE 
ORDER BY "DOCUMENT_QUEUE"."DOCUMENT_NUMBER"; 
+0

完美!如果我能給你一個吻..... –

相關問題