select *
From #####
where username in ('akhil') and between (now() ::timestamp and now() - interval '1 day'::timestamp)在此行中出现错误。错误-无法将类型interval转换为没有时区的时间戳。
发布于 2018-07-01 22:57:19
你不需要第二轮演员。您需要一个列名。如下所示:
select *
from #####
where username in ('akhil') and
<some date column> >= now() - interval '1 day' and
<some date column> < now();发布于 2018-07-02 13:46:31
错误出现在第二次强制转换中
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。
https://stackoverflow.com/questions/51124389
复制相似问题