PostgreSQL处理时间段、时长转为秒、分、小时代码示例

 更新时间:2023年10月11日 15:28:57   作者:今晚偷月亮的邻居  
最近在操作数据库时,遇到频繁的时间操作,每次弄完了就忘了,今天痛定思痛,下定决心对postgres的时间操作进行一下总结,这篇文章主要给大家介绍了关于PostgreSQL处理时间段、时长转为秒、分、小时的相关资料,需要的朋友可以参考下

如果要计算某个时间点到某个时间点的时长或时间段是多少,并且要转换为秒、分、小时的话,我们可以按下面的例子处理

首先,举例计算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

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

附:postgresql时间戳与时间的转换

日期转时间戳

select EXTRACT(epoch FROM CAST( now() AS TIMESTAMP))

时间戳转日期需要注意时区

SELECT TO_TIMESTAMP(1579077961.4475)

日期相关函数

date()函数
select date('2018-01-01 10:20:12')转换为2018-01-01
to_date()函数
select to_date('2020-01-12 18:47:35','yyyy-MM-dd hh24:mi:ss') ====>2020-01-12
to_timestamp()函数
select to_timestamp('2020-01-12 18:47:35','yyyy-MM-dd hh24:mi:ss')==>2020-01-12 18:47:35+08
select to_timestamp('2020-01-12',‘'yyyy-MM-dd')===>2020-01-12 00:00:00+08

总结

到此这篇关于PostgreSQL处理时间段、时长转为秒、分、小时的文章就介绍到这了,更多相关PostgreSQL转秒分小时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux 上 定时备份postgresql 数据库的方法

    Linux 上 定时备份postgresql 数据库的方法

    这篇文章主要介绍了Linux 上 定时备份postgresql 数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • PostgreSQL教程(二十):PL/pgSQL过程语言

    PostgreSQL教程(二十):PL/pgSQL过程语言

    这篇文章主要介绍了PostgreSQL教程(二十):PL/pgSQL过程语言,本文讲解了、PL/pgSQL概述、PL/pgSQL的结构、声明、基本语句、控制结构等内容,需要的朋友可以参考下
    2015-05-05
  • postgresql分页数据重复问题的深入理解

    postgresql分页数据重复问题的深入理解

    这篇文章主要给大家介绍了关于postgresql分页数据重复问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用postgresql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • postgresql 获取两个时间类型小时差值案例

    postgresql 获取两个时间类型小时差值案例

    这篇文章主要介绍了postgresql 获取两个时间类型小时差值案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • postgresql的jsonb数据查询和修改的方法

    postgresql的jsonb数据查询和修改的方法

    这篇文章主要介绍了postgresql的jsonb数据查询和修改的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • PostgreSQL三种自增列sequence,serial,identity的用法区别

    PostgreSQL三种自增列sequence,serial,identity的用法区别

    这篇文章主要介绍了PostgreSQL三种自增列sequence,serial,identity的用法区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSql日期类型处理详细实例

    PostgreSql日期类型处理详细实例

    PostgreSQL提供了大量用于获取系统当前日期和时间的函数,例如 current_date、current_time、current_timestamp、clock_timestamp()等,这篇文章主要给大家介绍了关于PostgreSql日期类型处理的相关资料,需要的朋友可以参考下
    2023-05-05
  • PostgreSQL查找并删除重复数据的方法总结

    PostgreSQL查找并删除重复数据的方法总结

    这篇文章主要给大家介绍了PostgreSQL查找并删除重复数据的方法,文章通过代码示例介绍的非常详细,对大家的学习或工作有一点的帮助,需要的朋友可以参考下
    2023-10-10
  • 基于PostgreSQL pg_hba.conf 配置参数的使用说明

    基于PostgreSQL pg_hba.conf 配置参数的使用说明

    这篇文章主要介绍了基于PostgreSQL pg_hba.conf 配置参数的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • CVE-2019-9193之PostgreSQL 任意命令执行漏洞的问题

    CVE-2019-9193之PostgreSQL 任意命令执行漏洞的问题

    这篇文章主要介绍了CVE-2019-9193:PostgreSQL 任意命令执行漏洞,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08

最新评论