0

如何检查存储过程中的值是否为空?如果它为空,则存储过程将返回“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

4

2 回答 2

1

ON你必须在子句上定义表之间的关系,

Select  MyTable.Col1,
        HisTable.Col2
From    MyTable 
        Left Join HisTable
            ON MyTable.LinkColumn = HisTable.LinkColumn

要进一步了解有关联接的更多信息,请访问以下链接:

于 2013-04-04T13:20:08.930 回答
0

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

Select  MyTable.Col1,
    NULLIF(HisTable.Col2, '')
From    MyTable 
    Left Join HisTable
        ON MyTable.LinkColumn = HisTable.LinkColumn
于 2013-04-04T16:21:12.763 回答