Вопрос:
У меня есть следующий psql-запрос и не могу понять, почему я получаю ошибку ОШИБКА: недопустимый синтаксис ввода для даты типа: “”.
Мой запрос выглядит следующим образом:
SELECT count(*) FROM campaigns WHERE dstart >= ‘2010-09-02’ AND dend <= ‘2010-09-02’ AND status != ‘S’ AND status != ‘C’ AND status != ‘E’ AND (dsignoff <> » AND dsignoff is not null) AND (dstart <> » AND dstart is not null) AND (dend <> » AND dend is not null) AND clientid=20005294;
dstart, dend и dsignoff определяются как типы дат.
Лучший ответ:
Поскольку dstart, dend и dsignoff определяются как дата, их нельзя сравнивать со строкой, которая представляет неверную дату (”). Попробуйте следующее:
SELECT count(*) FROM campaigns WHERE dstart >= ‘2010-09-02’ AND dend <= ‘2010-09-02’ AND status != ‘S’ AND status != ‘C’ AND status != ‘E’ AND (dsignoff is not null) AND (dstart is not null) AND (dend is not null) AND clientid=20005294; Ответ №1
Мы можем использовать null вместо “”