3

所以在这个例子中,我试图为 element2 和 element3 返回一个 NULL 而不是一个空的 nvarchar。我似乎无法在任何地方找到答案,或者甚至可能。我知道我可以使用 Case/When 的 nullif 检查 .exists(),但为了性能,我宁愿不进行检查。

WqlEventQuery 查询 = 新 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";
4

1 回答 1

5

我不确定你用什么语言写你的问题,但 SQL Server 有一个NullIf(val, CheckValue)功能。如果您可以将其包含在您传递给应该执行此操作的服务器的 sql 中:

   Select NullIf(element2, '') 

如果 element2 等于空字符串 (''),将返回 null

于 2009-12-08T17:09:15.997 回答