проверка БД, если записи существуют только в течение 13 месяцев

1

У меня есть набор записей в db, и мне нужно проверить, существует ли запись более чем за 13 месяцев с текущей даты, используя атрибуты date, month и year, которые также сохраняются в db как целочисленные значения. Мне нужно объединить целочисленные значения вместе и сравнить с текущей датой, чтобы проверить, превышает ли он период в 13 месяцев.

Я использую postgres DB. пробовал разные методы, но не удался

  • 0
    я рекомендую опубликовать некоторые из ваших попыток
  • 0
    SELECT * FROM agg_d_cause_f_cdr_datamart_fac WHERE Cast ('(|| date_dimension_year ||' + '-' + '|| date_dimension_month ||' + '-' + '|| date_dimension_day ||)'. To_date () )_TALT_REMENT '13 месяцев 'AND Cast (' (|| date_dimension_year || '+' - '+' || date_dimension_month || '+' - '+' || date_dimension_day ||) '. To_date ()) <CURRENT_TIMESTAMP
Показать ещё 3 комментария
Теги:

1 ответ

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
    Так рада, что вы нашли ответ. Вероятно, лучше задать другой вопрос, а не задавать этот.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню