如果记录存在的时间仅为13个月,则检查数据库

时间:2014-04-22 16:09:49

标签: java sql postgresql

我在db中有一组记录,我需要使用属性日期,月份和年份检查记录是否存在超过当前日期13个月的时间段,这些属性也作为整数值保存在db中。 我需要将整数值连接在一起并与当前日期进行比较,以检查它是否超过13个月。

我正在使用postgres DB。尝试了不同的方法,但没有成功

1 个答案:

答案 0 :(得分:1)

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

嗨,谢谢所有我找到了解决方案,但现在我必须编写一个存储过程或函数,以便在指定时间段内存在记录时,它应该打印记录总数或仅将这些记录打印到a文件。

我确实运行了一个小函数,但我不知道如果只有它存在于另一个文件中才能输入记录?

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;