Как передать динамическую c дату в postgresql - PullRequest
0 голосов
/ 07 апреля 2020

Я хотел передать динамику даты c, используя месяц и дату в своем запросе

         select CALLLOGDATE from Demo
          WHERE CALLLOGDATE  between '25-01-2020' and '31-1-2020'

Я пробовал этот способ, но он не работает в течение месяца, имеющего 31 день

      select CALLLOGDATE from Demo
      WHERE CALLLOGDATE  between cast (TO_CHAR(NOW() :: DATE-67, 'dd-Mon-yy') as date) and 
      cast (TO_CHAR(NOW() :: DATE-62, 'dd-Mon-yy') as date);

1 Ответ

0 голосов
/ 07 апреля 2020

Не используйте BETWEEN используйте диапазон, где верхняя граница является началом следующего месяца:

select *
from demo
where CALLLOGDATE >= date '2020-01-01' 
  and CALLLOGDATE < date '2020-01-01' + interval '1 month';

или для текущего месяца:

select *
from demo
where CALLLOGDATE >= date_trunc('month', current_date) 
  and CALLLOGDATE < date_trunc('month', current_date) + interval '1 month';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...