使用postgresql获取当前或某一时间段的年月日

 更新时间:2023年07月22日 14:03:38   作者:今晚偷月亮的邻居  
这篇文章主要给大家介绍了关于使用postgresql获取当前或某一时间段的年月日的相关资料,在PostgreSQL中可以使用函数 NOW() 来查询当前时间,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

最近写代码遇到关于获取某一时间年月日的需求,特此写一篇文章便于自己记录

1.获取当前时间

select now();                    
--返回:2022-12-07 15:53:15.881711+08
 
select current_date;      
--返回:2022-12-07
 
select current_timestamp;
--返回:2022-12-07 15:56:28.729581+08
 
select current_time;
--返回:15:56:50.155444+08

2.获取当前月份的第一天

select date_trunc('month',current_date)::DATE;
--返回:2022-12-01

3.根据当前日期获取次日、次月、前年

select (current_date + INTERVAL '1 day')::DATE;
--根据当前日期获取次日,返回:2022-12-08
select date_trunc('month',(current_date + INTERVAL '1 month'))::DATE;
--根据当前日期获取次月,返回:2023-01-01
select (current_date - INTERVAL '2 YEAR')::DATE;
--根据当前日期获取前年,返回:2020-12-07

如果要获取“周”的周期的时间 把day、month或year改成week即可,2 year那里加不加s都可以执行。

4.根据第三步的内容,我们还可以获取上一月/年的最后一天

select (date_trunc('month',current_date) - interval'1 day')::DATE;
--首先用date_trunc函数获取当月的第一天的日期,然后再倒退一天,返回:2022-11-30
select (date_trunc('year',current_date) - interval'1 day')::DATE;
--同上,首先用date_trunc函数获取今年的第一天的日期,然后再倒退一天,返回:2021-12-31

这里注意如果我们要获取上一年前一个月的第一天日期或最后一天日期,即我现在的时间是2022-12-07,我想获取2021年11月第一天的日期或最后一天,写法应该是

select (date_trunc('year',current_date) - interval'2 month')::DATE;
--从当前日期2022-12-07获取2021年11月第一天的日期,返回:2021-11-01
select ((date_trunc('year',current_date) - interval'1 month')-INTERVAL '1 day')::DATE;
--从当前日期2022-12-07获取2021年11月最后一天的日期,返回:2021-11-30
--不知道有没有更简易的方法,希望学习下

5.根据第四步的思路,我们可以获取当月最后一天的日期

select (date_trunc('month',current_date) + interval'1 month - 1 day')::DATE;
--首先用date_trunc函数获取当月的第一天的日期,接着再加一个月,最后再减一天,返回:2022-12-31

6.虽然前几步最后都转成了日期格式,但也可以截取任意日期的时分秒

SELECT substr(to_char(CURRENT_TIMESTAMP, 'yyyy-mm-dd hh24:mi:ss'),12,8);
--返回:16:19:34

总结

到此这篇关于使用postgresql获取当前或某一时间段的年月日的文章就介绍到这了,更多相关postgresql获取年月日内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • postgresql 除法保留小数位的实例

    postgresql 除法保留小数位的实例

    这篇文章主要介绍了postgresql 除法保留小数位的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • postgreSQL如何设置数据库执行超时时间

    postgreSQL如何设置数据库执行超时时间

    本文我们将深入探讨PostgreSQL数据库中的一个关键设置SET statement_timeout,这个设置对于管理数据库性能和优化查询执行时间非常重要,让我们一起来了解它的工作原理以及如何有效地使用它
    2024-01-01
  • Docker环境实现PostgreSQL自动备份的流程步骤

    Docker环境实现PostgreSQL自动备份的流程步骤

    本文详细介绍了如何在Ubuntu系统中安装Docker,然后在Docker容器内安装和配置PostgreSQL数据库,接着,重点讲解了如何在PostgreSQL中安装和配置pg_rman工具,用于数据库的备份和恢复操作,文章还涵盖了创建定时备份任务以及删除备份的步骤,需要的朋友可以参考下
    2024-11-11
  • Postgresql的日志配置教程详解

    Postgresql的日志配置教程详解

    这篇文章主要介绍了Postgresql的日志配置教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • postgresql影子用户实践场景分析

    postgresql影子用户实践场景分析

    这篇文章主要介绍了postgresql影子用户实践场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • PostgreSQL中调用存储过程并返回数据集实例

    PostgreSQL中调用存储过程并返回数据集实例

    这篇文章主要介绍了PostgreSQL中调用存储过程并返回数据集实例,本文给出一创建数据表、插入测试数据、创建存储过程、调用创建存储过程和运行效果完整例子,需要的朋友可以参考下
    2015-01-01
  • 使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)

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

    这篇文章主要介绍了使用PostGIS完成两点间的河流轨迹及流经长度的计算,使用POSTGIS及其扩展pgrouting计算给定两点间的河流流经区域和河流长度,需要的朋友可以参考下
    2022-01-01
  • PostgreSQL教程(五):函数和操作符详解(1)

    PostgreSQL教程(五):函数和操作符详解(1)

    这篇文章主要介绍了PostgreSQL教程(五):函数和操作符详解(1),本文讲解了逻辑操作符、比较操作符、数学函数和操作符、三角函数列表、字符串函数和操作符等内容,需要的朋友可以参考下
    2015-05-05
  • PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

    PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

    这篇文章介绍了PostgreSQL实现按年、月、日、周、时、分、秒分组统计的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 如何获取PostgreSQL数据库中的JSON值

    如何获取PostgreSQL数据库中的JSON值

    这篇文章主要介绍了如何获取PostgreSQL数据库中的JSON值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论