mssql 7.0无法识别空的数据库条目

时间:2019-04-05 09:56:06

标签: sql sql-server sql-server-7

对于sql来说还很新,我必须在数据库中标识52个“空”条目,以查看它们连接到哪些联系人(如果有),并且到目前为止无法隔离它们。我们正在Windows 2000虚拟机上使用mssql 7.0。

“空”条目的意思是,当用户打开db应用程序以搜索按字母顺序列出的联系人时,前52个联系人只是全部空白。您可以一一滚动浏览它们,但没有附加信息。

我尝试了简单的select语句,但是在隔离条目方面没有成功。

以下是我尝试过的select语句的一些示例:

示例1

SELECT DISTINCT Kon_NachN, Kon_VorN, Kon_ID
FROM tbl_Kontakte
WHERE Kon_Fa='' AND Kon_NachN ='' AND Kon_VorN ='' 

传送159行

Ex.2

SELECT DISTINCT Kon_ID, Kon_Fa, Kon_VorN, Kon_NachN
FROM tbl_Kontakte
WHERE Kon_Fa is NULL AND Kon_VorN is NULL AND Kon_NachN is NULL
ORDER BY Kon_ID ASC

提供0行

示例3

当我选择所有Kon_ID时,我注意到某些数字丢失并试图隔离这些数字,但是在下面的2条语句中却失败了

SELECT * 
FROM tbl_Kontakte
ORDER BY Kon_ID ASC

缺少Kon_ID例如3、12、17、33、87、88、96、97

SELECT *
FROM tbl_Kontakte
WHERE Kon_ID ='3' OR Kon_ID ='12' OR Kon_ID ='17'
ORDER BY Kon_ID ASC

提供0行

这些条目绝对不存在,但是我无法弄清楚如何找到任何附加信息,但是我发现数据库的前100个条目中有8个缺失的Kon_ID,其中有4000多个条目必须不符合要求。 / p>

示例4

SELECT *
FROM tbl_Kontakte
WHERE (Kon_VorN is null or Kon_VorN='') and (Kon_NachN is null or Kon_NachN='')
ORDER BY Kon_ID ASC

提供3359行

由于这几乎是我在在线教程之外(也是第一次在此处发布)对SQL的首次破解,我想我想我会找到与“空”条目数量匹配的52个结果,并且可以从那里进行修复每个条目以显示适当的信息。抱歉,这还不清楚还是有一个明确的解决方案,但我想我会看看是否有人有任何想法。谢谢。

1 个答案:

答案 0 :(得分:0)

您的应用程序(屏幕快照的来源)可能按“某物”排序(或进一步过滤其显示的结果),似乎只有52条空记录供您使用,但实际上,您有3359条空记录Kon_VorNKon_NachN,其中159个也有空的Kon_Fa(基于Ex1查询)。如果您滚动浏览应用程序中的所有记录,可能会发现更多的记录。

这些丢失的条目(Kon_ID = 3,12,...)可能已经从数据库中删除了,所以这就是为什么要丢失它们的原因。

现在,如果要查找所有字段为空的记录,则只需在WHERE子句中包括所有字段。此时,几乎找不到SQL Server 7.0的函数引用,但是我认为ISNULLNULLIFCOALESCE都无法帮助您简化检查过程。 NULL或空字符串。