如何检查存储过程中的空值?

时间:2013-04-04 13:18:38

标签: sql-server-2008 tsql stored-procedures

如何检查存储过程中的值是否为空?如果它为空,则存储过程将返回“NULL”

CREATE PROCEDURE SP1
AS
Select
  MyTable.Col1,
  HisTable.Col2
From
  MyTable Left Join
  HisTable
GO

在上面的例子中,我需要检查Col2是否为空,如果是,那么这个存储过程应该返回NULL。截至目前,我正在变得空虚 目前这是我返回的表格的样子

Col1  Col2
Red    1
Blue
Green  0
Yello  0

我希望Col2的值为Blue

为NULL

2 个答案:

答案 0 :(得分:1)

您必须在ON子句

上定义表之间的关系
Select  MyTable.Col1,
        HisTable.Col2
From    MyTable 
        Left Join HisTable
            ON MyTable.LinkColumn = HisTable.LinkColumn

要进一步了解联接,请访问以下链接:

答案 1 :(得分:0)

我找到了这个解决方案.... :)关键是NULLIF

Select  MyTable.Col1,
    NULLIF(HisTable.Col2, '')
From    MyTable 
    Left Join HisTable
        ON MyTable.LinkColumn = HisTable.LinkColumn