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转秒分小时内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)

    使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)

    这篇文章主要介绍了使用PostGIS完成两点间的河流轨迹及流经长度的计算,使用POSTGIS及其扩展pgrouting计算给定两点间的河流流经区域和河流长度,需要的朋友可以参考下
    2022-01-01
  • postgresql 查询字符串中是否包含某字符的操作

    postgresql 查询字符串中是否包含某字符的操作

    这篇文章主要介绍了postgresql 查询字符串中是否包含某字符的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 使用docker compose启动postgresql的示例代码

    使用docker compose启动postgresql的示例代码

    要在启动 PostgreSQL 容器时执行特定的初始化文件,可以使用 Docker 的 docker-entrypoint-initdb.d 目录,这个目录下的 SQL 文件会在容器启动时被自动执行,下面是如何修改 Docker Compose 配置文件,以便在启动时执行初始化 SQL 脚本,需要的朋友可以参考下
    2024-10-10
  • PostgreSQL数据库中DISTINCT关键字的四种用法详解

    PostgreSQL数据库中DISTINCT关键字的四种用法详解

    PostgreSQL 不但高度兼容 SQL 标准,同时还对很多语法进行了扩展,可以用于实现一些特殊的功能,今天我们就来介绍一下 PostgreSQL 数据库中 DISTINCT 关键字的 4 种不同用法,需要的朋友可以参考下
    2024-04-04
  • psql 执行文件 permission denied的解决

    psql 执行文件 permission denied的解决

    这篇文章主要介绍了psql 执行文件 permission denied的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgresql数据库主从恢复的实现

    postgresql数据库主从恢复的实现

    本文主要介绍了postgresql数据库主从恢复的实现,包括检查状态、停止/克隆数据库、注册从节点等操作,确保数据一致性与高可用性,感兴趣的可以了解一下
    2025-06-06
  • PostgreSQL中的日期/时间函数详解

    PostgreSQL中的日期/时间函数详解

    这篇文章主要给大家介绍了关于PostgreSQL中日期/时间函数的相关资料,文章通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • PostgreSQL教程(六):函数和操作符详解(2)

    PostgreSQL教程(六):函数和操作符详解(2)

    这篇文章主要介绍了PostgreSQL教程(六):函数和操作符详解(2),本文讲解了模式匹配、数据类型格式化函数、时间/日期函数和操作符等内容,需要的朋友可以参考下
    2015-05-05
  • Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作方法

    Windows版 PostgreSQL 利用 pg_upgrade 进行大版升级操作方法

    最近 PostgreSQL 15 版本正式发布了,新版本的各种特性和好处本文就不展开介绍了,主要介绍一下 Windows 环境下 PostgreSQL 大版本升级的方法,我们现在的几个数据库都是运行在 Windows服务器的 PostgreSQL 14,需要的朋友可以参考下
    2022-10-10
  • postgreSQL自动生成随机数值的实例

    postgreSQL自动生成随机数值的实例

    这篇文章主要介绍了postgreSQL自动生成随机数值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论