在我的项目中,我使用的是Postgres数据库,但有时为了开发,我使用的是H2。
我正在尝试定义一个sql脚本,该脚本将如下所述更新timestamp列,但是我找不到可以同时应用于Postgres和H2的单一格式。
基本上,SQL尝试将时间戳设置为NOW + 1 week
。
这是适用于Postgres的sql:
update mytable set mytime = CURRENT_TIMESTAMP + INTERVAL '7 days';
这是适用于H2的sql:
update mytable set mytime = CURRENT_TIMESTAMP + 7;
有人可以建议可以对两个数据库执行相同操作的单个sql吗?
最佳答案
根据我的测试,这对H2和PostgreSQL都适用:
update mytable set mytime =
cast(cast(current_timestamp as date) + 7 as timestamp) +
cast(current_timestamp as time);
我同意这有点奇怪,但这是我在当前版本的H2和PostgreSQL中找到的唯一方法。
关于sql - 找不到适用于H2和Postgres的通用SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15251562/