我正在执行查询
Select *
from Parking
Where ParkingStartTime <> '08:00:00.0000000'
AND ParkingStartTime IS NULL
作为对执行的回应,会显示列名,但是没有显示记录。
如果我使用OR而不是AND它有效。知道为什么AND不工作的任何想法?
问候。
答案 0 :(得分:5)
这永远不会返回任何结果。这两个条件是矛盾的。
如果ParkingStartTime IS NULL
,则ParkingStartTime <> '08:00:00.0000000'
将评估为unknown
。
True and Unknown
根据3 valued logic的真值表评估为Unknown
。
答案 1 :(得分:1)
如果ParkingStartTime为null,则它不能有值。这意味着满足查询第一部分的任何值都不能满足查询的第二部分。
你要么只需要
ParkingStartTime is null
或
ParkingStartTime <> '08:00:00.000000'
答案 2 :(得分:0)
ParkingStartTime既不能为NULL(未知),也不能等于特定值,例如08:00:00.0000000
查询不返回任何值,因为您的逻辑不正确。