2013-04-04 48 views
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的值设置为NULL的蓝

+0

什么是你定义为 “空”? – 2013-04-04 13:19:35

+0

嗨亚当...空empty.string或只是'' – EagleFox 2013-04-04 13:22:35

回答

0

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

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

你必须定义的表之间的关系ON条款,

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

为了进一步获得更多的知识有关加入,请访问以下链接:

+1

谢谢你W ...非常有帮助的链接 – EagleFox 2013-04-04 13:22:13

+0

不客气':D' – 2013-04-04 13:22:29