У меня есть следующая таблица только с 4 строками:
Когда я запускаю запрос
select * from TABLE9
where dateLastChanged < dateLastUploaded
в этой таблице я ожидаю увидеть строки 1 и 4, однако получаю следующее:
когда я бегу
select * from TABLE9
where dateLastChanged > dateLastUploaded
, и к
select * from TABLE9
where dateLastChanged <> dateLastUploaded
я получаю все 4. ... where dateLastChanged = dateLastUploaded
не получает ни одного.
Я попытался выполнить приведение к отметке времени - получил те же результаты:
select * from TABLE9
where timestamp(dateLastChanged) < timestamp(dateLastUploaded)
Чего не хватает???
мой первый раз с DB2 на prj. все больше "любит" его.
Примечание. Я знаю, что могу обойти это на стороне Java.
//--------------------------
ИЗМЕНИТЬ:
разъяснение того, что я думал, было ясно в вопросе:
Почему
select * from TABLE9
where dateLastChanged < dateLastUploaded
возвращает dateLastChanged < dateLastUploaded
, dateLastChanged > dateLastUploaded
и dateLastChanged = dateLastUploaded
.
Как DB2 решает, какая метка времени больше, меньше, равна или не равна друг другу. временные метки для строки tNumber=bbbbb
были созданы и записаны одновременно.
//--------------------
EDIT-2
В моем исходном вопросе - "больше/меньше" при сравнении временных меток запутано. Это (последняя отметка времени больше/нет) достаточно легко понять, как только я устраню несоответствие, которое я изложил в вопросе и редактировании прямо перед этим.