2011-07-12 4 views
1

私は常にコンピュータ上で動作しているCPUモニタを持っています。 ログパーサーは、過去1時間の結果のみを解析するようにしたいと思います。誰もそれをする方法を知っていますか?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ログに取り組ん以下:

SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), TIMESTAMP('0000-01-01 01:00', 'yyyy-MM-dd HH:mm')) 
:あなただけのWHERE句のこのビットを使用して安全でなければならない、あなたの特定のケースについては

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')) 

関連する問題