我的电脑上有 CPU 监视器持续工作。 我希望日志解析器仅解析最后一小时的结果。有人知道该怎么做吗?
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') )
最后一行出现错误。有谁知道我该怎么做?谢谢!
最佳答案
你的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') )
关于LogParser 获取上一小时的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664255/