Я выполняю запрос
Select * from Parking Where ParkingStartTime <> '08:00:00.0000000' AND ParkingStartTime IS NULL
В ответ на выполнение отображаются имена столбцов, но записи не отображаются.
Если я использовал ИЛИ вместо И это работает. Есть идеи, почему AND не работает?
С уважением.
Это никогда не может дать никаких результатов. 2 условия противоречивы.
Если ParkingStartTime IS NULL, то ParkingStartTime <> '08:00:00.0000000' оценивается как unknown.
ParkingStartTime IS NULL
ParkingStartTime <> '08:00:00.0000000'
unknown
True and Unknown оценивается как Unknown в таблицах истинности для 3-значной логики .
True and Unknown
Unknown
Если значение ParkingStartTime равно нулю, оно не может иметь значение.Это означает, что любое значение, которое соответствует первой части запроса, не может соответствовать второй части запроса.
Вам нужно просто
ParkingStartTime is null
или
ParkingStartTime <> '08:00:00.000000'
ParkingStartTime не может быть равным NULL (неизвестно), а также быть равным определенному значению, например, 08: 00: 00,0000000
Запрос не возвращает никаких значений, поскольку ваша логика неверна.