2010-09-02 165 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;