SQL查询过滤指定Event Code条件失效问题求助
问题:SQL查询无法过滤指定Event Code的事件
当前查询返回的事件数据
| Event ID | Severity | Job ID | 日期 | 程序 | 计算机 | Event Code | 描述 |
|---|---|---|---|---|---|---|---|
| 63860289 | Information | 51513829 | 03/15/2023 16:10:00 | JobManager | tsxxcck | 19:1592 | Auxiliary Copy attempt... |
| 63860288 | Information | 51513828 | 03/15/2023 16:09:59 | JobManager | tsxxcck | 30:296 | Auxiliary Copy attempt... |
| 63860287 | Information | 51513827 | 03/15/2023 16:09:58 | JobManager | tsxxcck | 19:1592 | Auxiliary Copy attempt... |
| 63860286 | Information | 51513826 | 03/15/2023 16:09:57 | JobManager | tsxxcck | 30:381 | Auxiliary Copy attempt... |
| 63860285 | Information | 51513825 | 03/15/2023 16:09:56 | JobManager | tsxxcck | 19:1592 | Auxiliary Copy attempt... |
当前使用的SQL查询语句
SELECT EvMsg.id, jobId_l, severity, timeSource, subsystem, client, CAST (L.SubsystemID AS VARCHAR(10))+':'+CAST (L.MessageNum AS VARCHAR(19)), ISNULL(EvMsgCache.Message, DBO.fn_EvFormatEventMsgText(EvMsg.id, @locId, EvMsg.MessageId, 1,2)), CL.displayName FROM EvMsg JOIN EvLocaleMsgs L ON EvMsg.messageId = L.MessageID AND L.LocaleID = @locId WHERE timeSource >= @startTime
需求与问题
我需要仅显示Event Code为30:296和30:381的事件。Event Code是通过EvLocaleMsgs表中的两个Int类型字段SubsystemID和MessageNum拼接生成的,拼接逻辑如下:
CAST (L.SubsystemID AS VARCHAR(10))+':'+CAST (L.MessageNum AS VARCHAR(19))
我尝试在查询中添加以下过滤条件,但无法实现预期的过滤效果,请求帮忙排查问题:
AND L.SubsystemID = 30 AND L.MessageNum IN (296, 381)
内容的提问来源于stack exchange,提问作者Ivan_Magana
相关产品推荐
相关产品推荐

