1

我有一个存储过程,我需要检查以查看:

 if @variable is null
 Then this
 Else that

在这种情况下,使用 IF/ELSE 或 CASE 或其他东西会更好吗?

谢谢!

4

2 回答 2

3

选项1:

SELECT CASE WHEN @variable IS NULL THEN 'IT IS NULL' ELSE 'NOT NULL' END

选项 2:

 SELECT COALESCE(@variable,'IT IS NULL')

选项 3:

SELECT ISNULL(@variable,'IT IS NULL')

所有都将带有 Select 语句

选项 4:

IF @variable IS NULL

BEGIN 
   PRINT 'IT IS NULL'
END

ELSE
  PRINT 'IT IS NOT NULL'

希望图片清晰

于 2012-11-16T03:01:05.713 回答
3

如果这个那个是 SQL 查询,我宁愿使用IF语句。

例子:

if @status=0
    select * from #t where id=2
else
    select * from #t where names='nameHere'

但如果它们是值,请使用CASE

SELECT (CASE WHEN @variable is null 
             THEN 'Nothing'
             ELSE 'Hello!'
        END) Status
FROM tableName
于 2012-11-16T03:04:10.277 回答