@ Barmar - Нет, я не могу воспроизвести ошибку в SQLFiddle, схема и значения, которые у меня действительно есть, нарушают их Java.
Решено
Мне пришлось копатьглубже в том, как таблица была построена и найти правильную схему.Это то, что у меня действительно есть в БД (хотя PHPStorm показывает «0000-00-00» как NULL
):
CREATE TABLE backupDB (
date1 TIMESTAMP NULL,
date2 DATE DEFAULT '0000-00-00',
date3 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
INSERT INTO backupDB (date1, date2, date3) VALUES
(NULL, '0000-00-00', '2015-02-04 21:29:05');
Так что необходимый запрос выглядит примерно так: (не стесняйтесь критиковатьи улучшать)
SELECT
coalesce(date1, if(date2= '0000-00-00', null, timestamp(date2)), date3, now()) as edited
FROM backupDB