The following query is giving an error at ‘CASE WHEN NOT LIKE’ (Msg 156, Level 15, State 1, Line 14 Incorrect syntax near the keyword ‘LIKE’)
SELECT TimeStamp, TimeStampNS, ISNULL(TagName, 'NoTag') AS TagName, Message, ConditionName, ISNULL(TagName, 'NoTag') + '.' + ConditionName AS Source, CENTUMMsgId, StationName, ISNULL(AlarmLevel,5) AS AlarmLevel, ActiveTime, ActorID, ISNULL(AlarmOff,0) AS AlarmOff, CASE WHEN NOT LIKE '% ACK%' AND CENTUMMsgId IN (4353, 4355, 4609) THEN 1 ELSE 0 END AS RaiseAll, CASE WHEN LIKE '% ACK%' THEN 1 ELSE 0 END AS Acknowledge, CASE WHEN CENTUMMsgId IN (4354, 4356, 4358, 4614) AND Message NOT LIKE '% ACK%' THEN 1 ELSE 0 END AS Normal, PlantHierarchy, 'EXAOPC' AS SourceType FROM QHistorianData.dbo.vEXAOPCCSProcessAlarm
Do you guys know what’s going on… I think I have eveything correct there.
Thank you in advance for any help.
Advertisement
Answer
I think you missed the attribute name here:
CASE WHEN <ATTRIBUTE-NAME> NOT LIKE '% ACK%' AND CENTUMMsgId IN (4353, 4355, 4609) THEN 1 ELSE 0 END AS RaiseAll, CASE WHEN <ATTRIBUTE-NAME> LIKE '% ACK%' THEN 1 ELSE 0 END AS Acknowledge, CASE WHEN CENTUMMsgId ...