因此,在此示例中,我尝试为 element2 和 element3 返回 NULL 而不是空 nvarchar。我似乎无法在任何地方找到这个问题的答案,或者是否有可能。我知道我可以使用 Case/When 的 nullif 检查 .exists() ,但为了性能我宁愿不进行该检查。
WqlEventQuery 查询 = new WqlEventQuery();
query.EventClassName = "__InstanceCreationEvent";
query.Condition = "TargetInstance ISA 'Win32_NTLogEvent'";
query.GroupWithinInterval = new TimeSpan(0, 0, 10);
System.Collections.Specialized.StringCollection 集合 =
新的 System.Collections.Specialized.StringCollection();
Collection.Add("TargetInstance.SourceName");
query.GroupByPropertyList = 集合;
query.HavingCondition = "NumberOfEvents > 25";
我不确定你的问题是用什么语言编写的,但 SQL Server 有一个NullIf(val, CheckValue)函数。如果您可以将其包含在传递给服务器的 sql 中,则应该可以实现这一点:
Select NullIf(element2, '')
Run Code Online (Sandbox Code Playgroud)
如果 element2 等于空字符串 (''),则返回 null