当我在两个时间戳上调用max时,会得到一个错误:
select max(now()::timestamp, to_timestamp('2021-01-01', 'YYYY-MM-DD')::timestamp);
-- ERROR: function max(timestamp without time zone, timestamp without time zone) does not exist我的实际用法是在一个新插入查询中,我想在其中写:
INSERT ...
ON CONFLICT (pk) DO UPDATE SET
ts = max(table.ts, excluded.ts)问题
在PostgreSQL中,是否有一种惯用的方法来取两个时间戳之间的最大值?
发布于 2020-12-09 09:14:48
发布于 2020-12-09 09:14:49
使用GREATEST
SELECT GREATEST(now()::timestamp, to_timestamp('2021-01-01', 'YYYY-MM-DD')::timestamp);GREATEST标量函数接受一个或多个参数,并返回这些输入的最大值。
https://stackoverflow.com/questions/65213753
复制相似问题