2013-04-04 52 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