2010-09-02 45 views
0

J'ai la requête psql suivante et je ne comprends pas pourquoi j'obtiens erreur ERREUR: syntaxe d'entrée invalide pour le type date: "".ERREUR: syntaxe d'entrée invalide pour le type date: ""

Ma requête se présente comme suit:

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 et dsignoff sont tous définis comme types de date.

Répondre

6

Depuis dStart, DEND et dsignoff sont définis comme la date, ils ne peuvent pas être comparés à chaîne qui représente la date invalide (« »). Essayez ceci:

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;