几分钟内未显示正确的增量
Not show correct delta in minutes
列 created_at 类型 时间戳 没有时区。
我需要获取当前日期和列 created_at
之间的增量(以分钟为单位)
查询:
select id, created_at,
extract(minutes from (CURRENT_TIMESTAMP) - created_at) as delta
from shop_order order by created_at
结果如下:
为什么在 id = 20 的记录中增量为 19?
相差3 天。为什么只显示 19 分钟?
一个区间(减去两个时间戳的结果)由几个“部分”组成(类似于date
)并且extract
只提取命名部分,而不是表示该单位的间隔。如果减法的结果是例如3 days 19 minutes
提取将 return 19 分钟 - 类似于 extract(year ...)
或 extract(month ...)
的工作方式。
您可以提取秒数,然后将其除以 60 以获得以分钟为单位的总持续时间:
select id,
created_at,
extract(epoch from CURRENT_TIMESTAMP - created_at) / 60 as delta
from shop_order order
by created_at
列 created_at 类型 时间戳 没有时区。
我需要获取当前日期和列 created_at
之间的增量(以分钟为单位)查询:
select id, created_at,
extract(minutes from (CURRENT_TIMESTAMP) - created_at) as delta
from shop_order order by created_at
结果如下:
为什么在 id = 20 的记录中增量为 19?
相差3 天。为什么只显示 19 分钟?
一个区间(减去两个时间戳的结果)由几个“部分”组成(类似于date
)并且extract
只提取命名部分,而不是表示该单位的间隔。如果减法的结果是例如3 days 19 minutes
提取将 return 19 分钟 - 类似于 extract(year ...)
或 extract(month ...)
的工作方式。
您可以提取秒数,然后将其除以 60 以获得以分钟为单位的总持续时间:
select id,
created_at,
extract(epoch from CURRENT_TIMESTAMP - created_at) / 60 as delta
from shop_order order
by created_at