首页 > 解决方案 > now() 在 postgresql 中创建视图后更改为静态时间戳

问题描述

我在 PGADMIN 4 中创建了一个视图来检索最近一个月的数据。这是我当前的代码:

 Select * from test_1
 where productiondate >= ('now'::timestamp without time zone - '1 mon'::interval)

但是,在我创建了视图之后,它变成了这样:

 productiondate >= ('2021-11-03 10:00:07.879988'::timestamp without time zone - '1 
 mon'::interval)

如何解决这件事?

标签: postgresqlsql-view

解决方案


定义视图的 SQL 语句在定义视图时被解析。

使用localtimestamp函数而不是字面量'now'::timestamp来避免问题。


推荐阅读