【发布时间】:2016-12-28 14:23:14
【问题描述】:
我有一个包含 15 个左右字段的 Excel 电子表格。我正在做的是,我打开它,获取一行数据,然后检查每一行的值。然后使用一些标准我去查看这个客户端值是否已经在数据库中。举例
有些字段是空的。基本上在检查了一些字段之后,我使用它们来检查数据库中是否已经存在该记录。当某些字段为空时会出现问题,在这种情况下,当我查询 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
这样的事情可能吗?
【问题讨论】:
-
...AND City IS NULL如果列允许空字符串AND (City Is NULL Or City ='') -
@plutonix 查看我的编辑
-
Is Null是 SQL 而不是 VB,所以 IF 块不起作用。如果您需要,SQL 中的 2 个 WHERE 条件有什么问题? -
@plutonix - 那是另一种选择。我们还有很多代码在 WHERE 语句中使用了这个字段。我只是没想到这个字段是空的——碰巧在 1700 万条记录中,有 2 个这个字段是空的。现在恐怕我需要检查每个字段(这是从 xcel 电子表格中提取的)
-
好吧,您可以在开始处理之前运行查询以将 City(或 SSN)更新为
'' WHERE City(或 SSN)Is Null,以便将数据固定为查询所期望的
标签: sql sql-server vb.net