所以在这个例子中,我试图为 element2 和 element3 返回一个 NULL 而不是一个空的 nvarchar。我似乎无法在任何地方找到这个问题的答案,甚至找不到答案。我知道我可以使用 Case/When 的 nullif 检查 .exists(),但为了性能我宁愿不进行该检查。
WqlEventQuery query = new WqlEventQuery(); query.EventClassName = "__InstanceCreationEvent"; query.Condition = "TargetInstance ISA 'Win32_NTLogEvent'"; query.GroupWithinInterval = new TimeSpan(0, 0, 10); System.Collections.Specialized.StringCollection collection = new System.Collections.Specialized.StringCollection(); collection.Add("TargetInstance.SourceName"); query.GroupByPropertyList = collection; query.HavingCondition = "NumberOfEvents > 25";
最佳答案
我不确定您的问题是用什么语言编写的,但是 SQL Server 有一个 NullIf(val, CheckValue)
函数。如果您可以将其包含在传递给服务器的 sql 中,那么应该可以解决问题:
Select NullIf(element2, '')
如果 element2 等于空字符串(''),将返回 null
关于.net - SQL Server xQuery 返回 NULL 而不是空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1868385/