Sql server 正在sql server中检查null、空变量

Sql server 正在sql server中检查null、空变量,sql-server,Sql Server,我总是这样做,以涵盖@variable可以为空或null的所有情况 IF(COALESCE(@variable,'') <> '') BEGIN END IF(联合(@variable,”)“”) 开始 结束 这是检查这一点的最佳方法吗?如果它是一个变量,那么它就不重要了。如果要对表的列执行类似的筛选,我建议: 其中列不为NULL或列“”,因为它包含对该列的可能索引的使用。如果它是一个变量,那么它就不重要了。如果要对表的列执行类似的筛选,我建议: 其中列不

我总是这样做,以涵盖
@variable
可以为空或null的所有情况

 IF(COALESCE(@variable,'') <> '')
    BEGIN


    END 
IF(联合(@variable,”)“”)
开始
结束

这是检查这一点的最佳方法吗?

如果它是一个变量,那么它就不重要了。如果要对表的列执行类似的筛选,我建议:
其中列不为NULL或列“”
,因为它包含对该列的可能索引的使用。

如果它是一个变量,那么它就不重要了。如果要对表的列执行类似的筛选,我建议:
其中列不为NULL或列“”
,因为它包含对该列使用可能的索引。

假设@variable是VARCHAR/NVARCHAR,则以下操作应执行相同的操作:

IF @variable > ''
    BEGIN
    ...    
    END  

假设@variable是一个VARCHAR/NVARCHAR,那么下面的工作应该是相同的:

IF @variable > ''
    BEGIN
    ...    
    END  

你的意思是,它对变量没有影响?他是说,与将is NULL测试与“”测试分离相比,变量没有性能影响,因为变量没有索引。你的意思是,它对变量没有影响?他是说,变量没有性能影响,与将IS NULL测试与“”测试分离相比,因为变量没有索引。