我的数据是单个字段,包括日期,时间,小时,但也包括我需要的数据。
已经查询了2个关键字,但数据仍然很大,第二个关键字却空了
SELECT Field1
FROM TABLE1
WHERE Field1 Like '*EVENT_1' Or
Field1 Like '*DATETIME'
我希望输出是:
预先感谢
答案 0 :(得分:0)
首先将日志数据导入Access。在执行此操作时,告诉Access创建自己的主键,这将是一个自动编号:
[impLogData]
ID Field1
-- ------------------
1 May/01/2019 7:00
2 EVENT_0
3 EVENT_1 - val:10
4 EVENT_2
5 EVENT_3
6 EVENT_4
7 EVENT_5
8 EVENT_6
9 May/01/2019 8:00
10 EVENT_2
11 EVENT_3
12 EVENT_12
13 EVENT_13
14 EVENT_14
15 May/01/2019 9:00
16 EVENT_0
17 EVENT_1 - val:15
18 EVENT_2
创建一个[tblLogTime]表为
ID-长整数,主键
logTime-日期/时间
并用
填充INSERT INTO tblLogTime ( ID, logTime )
SELECT impLogData.ID, CDate([Field1]) AS Expr1
FROM impLogData
WHERE (((IsDate([Field1]))=True));
生产
[tblLogTime]
ID logTime
-- -------------------
1 2019-05-01 07:00:00
9 2019-05-01 08:00:00
15 2019-05-01 09:00:00
然后创建一个[tblLogEvent]表为
logTime-日期/时间
logEvent-文本(255)
并用
填充INSERT INTO tblLogEvent ( logTime, logEvent )
SELECT DMax("logTime","tblLogTime","ID < " & [impLogData].[ID]) AS Expr1, impLogData.Field1
FROM impLogData LEFT JOIN tblLogTime ON impLogData.ID = tblLogTime.ID
WHERE (((tblLogTime.ID) Is Null));
生产
[tblLogEvent]
logTime logEvent
------------------- ----------------
2019-05-01 07:00:00 EVENT_0
2019-05-01 07:00:00 EVENT_1 - val:10
2019-05-01 07:00:00 EVENT_2
2019-05-01 07:00:00 EVENT_3
2019-05-01 07:00:00 EVENT_4
2019-05-01 07:00:00 EVENT_5
2019-05-01 07:00:00 EVENT_6
2019-05-01 08:00:00 EVENT_2
2019-05-01 08:00:00 EVENT_3
2019-05-01 08:00:00 EVENT_12
2019-05-01 08:00:00 EVENT_13
2019-05-01 08:00:00 EVENT_14
2019-05-01 09:00:00 EVENT_0
2019-05-01 09:00:00 EVENT_1 - val:15
2019-05-01 09:00:00 EVENT_2
然后您可以使用来选择EVENT_1行
SELECT tblLogEvent.logTime, tblLogEvent.logEvent
FROM tblLogEvent
WHERE (((tblLogEvent.logEvent) Like "EVENT_1 *"))
ORDER BY tblLogEvent.logTime;
生产
logTime logEvent
------------------- ----------------
2019-05-01 07:00:00 EVENT_1 - val:10
2019-05-01 09:00:00 EVENT_1 - val:15