postgresql中的TIMESTAMPDIFF别名



我最近改用postgreSQL,在为timestampiff寻找替代方案时遇到了同样的困难

我最初的查询有点像

select a.column_a, a.column_b, TIMESTAMPDIFF(SQL_TSI_MINUTE, a.TIME_START, now()) AS "Time_diff"
from table as a
where 
...

我只能做( now() - a.TIME_START),但我想在几分钟内显示结果。postgresql中有没有更好的替代方案可以从现在开始做减法,并在几分钟内显示结果?

now() - a.TIME_START返回一个interval,可以使用extract()将其转换为秒,也可以转换为分钟:

extract(epoch from now() - a.time_start) / 60 as diff_minutes

如果您不需要将其作为数字,另一种选择是简单地格式化间隔以显示分钟和秒

to_char(now() - a.time_start, 'mi:ss') 

请注意,如果间隔大于60分钟(或大于一天(,这将隐藏信息。如果这种情况也能发生,也许你想使用'dd hh24:mi:ss'作为格式掩码,而不是

最新更新