Нельзя объявлять меткой времени в postgreSQL

select *
From #####
where username   in ('akhil')   and between (now()  ::timestamp and now()  - interval '1 day'::timestamp)

Ошибка в этой строке. Ошибка - невозможно преобразовать интервал типа в метку времени без часового пояса.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
143
2

Ответы 2

Вам не нужен второй состав. Вам нужно имя столбца. Что-то вроде этого:

select * 
from #####
where username in ('akhil') and
      <some date column> >= now() - interval '1 day' and
      <some date column> < now();

Спасибо . Сработало отлично :)

Akhil Chaudhary 01.07.2018 17:01

ошибка во втором приведении

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 для столбца базы данных.

Другие вопросы по теме