2016-12-28 65 views
-1

我有一個包含15個左右字段的Excel電子表格。我正在做的是,我打開它,抓住一行數據,然後檢查每行的值。然後使用一些標準,我去查看這個客戶端值是否已經在數據庫中。如示例在查詢DB之前爲字符串賦予IS NULL

某些字段是空的。基本上,在檢查了一些字段後,我用它們來檢查該記錄是否已經存在於數據庫中。當某些字段是在這種情況下,空當我查詢的SQL Server,它看起來有點像出現問題...

Select * from TblA where Company='Apple' and CompanyAdd ='Cupertino' and City='' 

由於城市=「」 - 它不找不到任何SQL。唯一可行的是

and City is NULL 

我怎樣才能以編程方式將其分配給像CITY這樣的變量?

它是一個字符串和SQL領域爲varchar

編輯:

我希望能夠做這樣的事.....(爲例)

if city = "" then 
    'I need this here to be so that.... 
    city IS NULL 
End if 

所以,當我查詢數據庫,它看起來像...

Select count(*) from TblA where City is Null 

就是這樣可能somethng?

+1

如果該列允許使用空字符串,那麼'... AND City IS NULL' AND(City Is NULL或City ='') – Plutonix

+0

@plutonix請參閱我的編輯 – BobSki

+0

'Null'是SQL不是VB,因此IF塊不會工作。如果這是你需要的,SQL中的WHERE條件有什麼問題? – Plutonix

回答

1

您可以使用COALESCE來達到此目的。

SELECT * 
FROM TblA 
WHERE COALESCE(Company, '')='Apple' 
    AND COALESCE(CompanyAdd, '') = 'Cupertino' 
    AND COALESCE(City, '') = '' 

請記住,該查詢的性能很可能不會很好。

相關問題