У меня есть набор записей в db, и мне нужно проверить, существует ли запись более чем за 13 месяцев с текущей даты, используя атрибуты date, month и year, которые также сохраняются в db как целочисленные значения. Мне нужно объединить целочисленные значения вместе и сравнить с текущей датой, чтобы проверить, превышает ли он период в 13 месяцев.
Я использую postgres DB. пробовал разные методы, но не удался
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;