2010-09-02 4 views
0

У меня следующий запрос 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 все определены как типы даты.

ответ

6

Поскольку 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; 
Смежные вопросы