2011-04-28 102 views
1

的执行过程中空白记录我执行查询SQL:显示查询

Select * 
from Parking 
Where ParkingStartTime <> '08:00:00.0000000' 
    AND ParkingStartTime IS NULL 

在回归到执行,都显示的列名,但有记录没有显示。

如果我使用OR而不是AND它的作品。任何想法为什么AND不工作?

问候。

回答

1

如果ParkingStartTime为空,也不能有一个值。这意味着任何满足查询第一部分的值都不能满足查询的第二部分。

你要么只需要

ParkingStartTime is null 

ParkingStartTime <> '08:00:00.000000' 
5

这永远不会返回任何结果。这两个条件是矛盾的。

如果ParkingStartTime IS NULL那么ParkingStartTime <> '08:00:00.0000000'将评估为unknown

True and Unknown根据真值表3 valued logic评估为Unknown

enter image description here

0

ParkingStartTime不能同时为NULL(未知),并且还为等于特定值例如08:00:00.0000000

查询不会返回任何值,因为您的逻辑不正确。