2014-04-22 38 views
1

我有一組記錄在db中,我需要檢查記錄是否存在超過13個月的時間從當前日期使用屬性日期,月份和年,它們也以整數值的形式保存在db中。 我需要將整數值連接在一起,並與當前日期進行比較以檢查它是否超過13個月的時間。檢查數據庫,如果記錄存在的時間僅爲13個月

我正在使用postgres數據庫。嘗試了不同的方法,但沒有成功

+0

我建議張貼你的一些嘗試 – blotto

+0

選擇 * FROM agg_d_cause_f_cdr_datamart_fac WHERE CAST( '(|| date_dimension_year ||' + ' - ' + '|| date_dimension_month ||' + ' - ' + '|| date_dimension_day ||)' TO_DATE())> = CURRENT_TIMESTAMP - INTERVAL '13個月 和CAST( '(|| || date_dimension_year' + ' - ' + '|| || date_dimension_month' + ' - ' + '|| date_dimension_day ||)' TO_DATE()) user3393089

+0

這就是我想和我仍然得到錯誤 – user3393089

回答

1
Select count(*) 
from TABLE 
where now() - cast(date_dimension_year||'-'||date_dimension_month||'-'||date_dimension_day AS date) > INTERVAL '2 month'; 

感謝大家好我找到了一個解決方案,但現在我不得不寫這樣的存儲過程或函數,如果記錄存在的指定時間段應該請打印總記錄數量或只將這些記錄打印到文件中。

我沒有運行一個小函數,但我不知道如何輸入記錄只有當它存在於另一個文件?

CREATE OR REPLACE FUNCTION totalRecords() 
RETURNS integer AS $total$ 
declare 
    total integer; 
BEGIN  
     select count (*) into total from agg_d_cause_f_cdr_datamart_fac where now() - cast(date_dimension_year||'-'||date_dimension_month||'-'||date_dimension_day AS date) < INTERVAL '3 months'; 
    RETURN total; 
END; 
$total$ LANGUAGE plpgsql; 
+0

很高興你找到了答案。也許最好問到這一個另外一個問題,而不是粘性。 – paqogomez

相關問題