如果要计算某个时间点到某个时间点的时长或时间段是多少,并且要转换为秒、分、小时的话,我们可以按下面的例子处理
首先,举例计算2023年4月19日10点整 到2023年4月20日22点00分30秒的时长
SELECT '2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP;
结果为:1 day 12:00:30
现在将结果转换为秒、分、小时
SELECT date_part('epoch','2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP) 时长转为秒;
结果为:129630
SELECT date_part('epoch','2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP)/60 时长转为分;
结果为:2160.5
SELECT date_part('epoch','2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP)/60/60 时长转为小时;
结果为:36.0083333333333
我们也可以对上面的结果进行取整(floor函数)或保留小数点后N位(round函数)处理
SELECT floor((date_part('epoch','2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP)/60/60)) 时长转为小时并取整;
结果为:36文章来源:https://www.toymoban.com/news/detail-652230.html
SELECT round((date_part('epoch','2023-04-20 22:00:30'::TIMESTAMP - '2023-04-19 10:00:00'::TIMESTAMP)/60/60)::NUMERIC,2) "时长转为小时并保留2位";
结果为:36.01文章来源地址https://www.toymoban.com/news/detail-652230.html
到了这里,关于PostgreSQL处理时间段、时长转为秒、分、小时的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!