在查询DB之前为字符串分配IS NULL

时间:2016-12-28 14:23:14

标签: sql sql-server vb.net

我有一个包含15个左右字段的Excel电子表格。 Wat我正在做的是,我打开它,抓取一行数据,然后检查每一行的值。然后使用一些标准,我会查看此客户端值是否已存在于DB中。作为例子

有些领域是空的。基本上在检查了一些字段后,我用它们来检查DB中是否已存在该记录。当某些字段为空时出现问题,在这种情况下,当我查询sql server时,它看起来像......

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

因为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

因此,当我查询db时,它看起来像......

Select count(*) from TblA where City is Null

有可能这样吗?

1 个答案:

答案 0 :(得分:1)

您可以将COALESCE用于此目的。

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

请记住,此查询的效果很可能不是很好。