编写 SQL 查询
通过 SQL 查询筛选数据,以显示数据库中的特定数据。
按如下方式编写查询:
- 采用文本形式
提醒事项:
不应在
FROM
子句中指定表名,而应在指向表 BrowseName
的动态链接中使用字符串格式器中的 {0:sql_identifier}
占位符指定表名。用例:按时间筛选
使用包含日期和时间的
Time
或 Timestamp
列按时间筛选数据。可在字符串格式器的占位符中使用
sql_literal
文本。Rockwell Automation
建议使用临时 DateTime
变量。示例:导出其时间戳大于特定时刻的记录:
SELECT * FROM {0:sql_identifier} WHERE Timestamp > {1:sql_literal}
示例:导出其时间戳介于两个时刻之间的记录:
SELECT * FROM {0:sql_identifier} WHERE Timestamp BETWEEN {1:sql_literal} AND {2:sql_literal}
小贴士:
请使用“时间戳”列在记录器上创建时间筛选器。使用“时间”列筛选报警历史记录。
用例:按报警严重性筛选
Severity
列包含报警严重性的值。可以使用此列筛选报警网格或报警历史记录网格的各种严重性。示例:导出其严重性为 1 的报警的历史记录:
SELECT * FROM {0:sql_identifier} WHERE Severity = 1
示例:导出其严重性介于 1 和 3 之间的报警的历史记录:
SELECT * FROM {0:sql_identifier} WHERE Severity BETWEEN 1 AND 3
用例:按报警或变量筛选
ConditionName
列包含报警的名称。可以筛选已存档的报警以获取特定报警。如果报警名称遵循特定模式,则可以筛选报警名称。可以在
SourceName
列中使用条件来按输入变量筛选。示例:导出过去的、具有给定 BrowseName 的报警历史记录:
SELECT * FROM {0:sql_identifier} WHERE ConditionName = {1:sql_literal}
示例:导出与变量相连的报警的历史记录:
SELECT * FROM {0:sql_identifier} WHERE SourceName = {1:sql_literal}
示例:导出以 Exclusive 开头的报警的历史记录:
SELECT * FROM {0:sql_identifier} WHERE ConditionName LIKE 'Exclusive%'
用例:筛选所记录的报警
可以通过
SELECT
语句导出记录器的某些列。示例:仅导出包含意大利语列的报警历史记录:
SELECT "ActiveState_it-IT", "AckedState_it-IT", "ConfirmedState_it-IT", "ConditionName", "EnabledState_it-IT", "SourceName", "Time", "Message_it-IT", "Severity" FROM {0:sql_identifier}
提供反馈