gpt4 book ai didi

sql-server - !IsNullOrEmpty 在 SQL Server 中等效

转载 作者:行者123 更新时间:2023-12-01 22:22:07 26 4
gpt4 key购买 nike

我正在创建 SSRS 报告,并在编写查询期间查找需要在查询中检索的数据的代码逻辑。 !String.IsNullOrEmpty 方法有很多用法,所以我想知道在 SQL Server 中进行等效检查的最短且最好的方法是什么?

WHERE t.Name IS NOT NULL OR T.Name != ''

或者....

WHERE LEN(t.Name) > 0

哪一个是正确的?或者有其他选择吗?

最佳答案

如果所需的结果是最简单的一行代码,那么:

WHERE  NULLIF(Name, '') IS NOT NULL 

但是,从性能角度来看,以下替代方案是 SARGable,因此索引可能可用于发现和过滤具有此类值的记录

WHERE  Name IS NOT NULL  AND Name != ''

一个例子:

;WITH cte AS (
SELECT 1 AS ID, '' AS Name UNION ALL
SELECT 2, ' ' UNION ALL
SELECT 3, NULL UNION ALL
SELECT 4, 'abc'
)


SELECT * FROM cte
WHERE Name IS NOT NULL AND Name != ''

结果:

ID  Name
---------
4 abc

关于sql-server - !IsNullOrEmpty 在 SQL Server 中等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57969477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com