select *
From #####
where username in ('akhil') and between (now() ::timestamp and now() - interval '1 day'::timestamp)
Ошибка в этой строке. Ошибка - невозможно преобразовать интервал типа в метку времени без часового пояса.


Вам не нужен второй состав. Вам нужно имя столбца. Что-то вроде этого:
select *
from #####
where username in ('akhil') and
<some date column> >= now() - interval '1 day' and
<some date column> < now();
ошибка во втором приведении
now() - interval '1 day'::timestamp
вставляется как.
now() - (interval '1 day')::timestamp
когда вы на самом деле имеете в виду
(now() - interval '1 day')::timestamp
или, возможно, вы имеете в виду
now()::timestamp - interval '1 day'
оба действительны, но результат, который вы получите, когда начинается или прекращается летнее время, отличается (подсказка interval '1 day' совпадает с interval '24 hours' в первом)
Есть большая вероятность, что вам действительно стоит использовать timestamp with time zone для столбца базы данных.
Спасибо . Сработало отлично :)