2011-07-12 27 views
1

我有cpu顯示器不斷在我的電腦上工作。 我想日誌解析器只解析最後一小時的結果。有誰知道這是怎麼做到的嗎?LogParser從最近一小時得到結果

SELECT TO_STRING(QUANTIZE(TO_TIMESTAMP(Field1, 'mm/dd/yyyy HH:mm:ss.ll'),10), 'hh:mm:ss') AS Time, AVG(TO_REAL(Field2)) AS Cpu 
INTO .\output\cpu.csv 
FROM .\logs\*.csv 
WHERE Time >= SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), TIMESTAMP('0000-01-02', 'yyyy-MM-dd')) 

最後一行產生錯誤。有誰知道我該怎麼做?謝謝!

回答

5

您的WHERE子句是錯誤的;而不是拉1小時,你拉1天。

下的IIS日誌的工作:

SELECT TO_STRING(QUANTIZE(TO_TIMESTAMP(date, time),10), 'hh:mm:ss') AS Time 
INTO asdf.csv 
FROM W3SVC5\*ex*.log 
WHERE TO_LOCALTIME(TO_TIMESTAMP(date, time)) >= SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), TIMESTAMP('0000-01-01 01:00', 'yyyy-MM-dd HH:mm')) 

您的特定情況下,你應該只使用WHERE子句此位安全:

SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), TIMESTAMP('0000-01-01 01:00', 'yyyy-MM-dd HH:mm'))