PostgreSql日期类型处理详细实例
1. 查询天数据
查询当天数据
select * from table1 as n where n.created_time>=current_date;
查询昨天数据
select * from table1 as n where n.created_time>=current_date-1 and n.created_time <current_date ;
2. 查询月数据
查询当月数据
select * from table1 as n WHERE extract(YEAR FROM created_time) = extract(YEAR FROM now()) and extract(MONTH FROM created_time) = extract(MONTH FROM now())
查询上月数据
select *
from table1 as n
where created_time >= date_trunc('month',current_date - interval '1' month)
and created_time < date_trunc('month',current_date)3. 查询年数据
查询当年数据
select * from table1 as n WHERE extract(YEAR FROM created_time) = extract(YEAR FROM now()) ORDER BY created_time
查询去年数据
select *
from table1 as n
where created_time >= date_trunc('year',current_date - interval '1' year)
and created_time < date_trunc('year',current_date)4.类型转换
1.查询某天:datetime类型的,需要转换为 date 类型,如果你要查询的字段已经是 date 类型则不需要进行转换
select t_create from table where t_create::date = to_date(‘2023-02-08', ‘YYYY-MM-DD');
2.string转timestamp类型,按范围查询
select * from table where create_date >= ‘2023-01-08'::timestamp and create_date < ‘2023-02-08'::timestamp;
3.时间戳Long转Timestamp
select TO_TIMESTAMP(1512490630)
4.string转data,只能得到年月日,得不到时分秒
select to_date(‘2023-01-28 12:55:05')
5.当前日期 select current_date
6.带时区的时分秒值 select current_time;也可以使用current_time(precision),将结果在四分之一秒的范围内四舍五入到位数,比如select current_time(2);对应没有时区的值:select localtime;
7.带时区的年月日时分秒值 select current_timestamp; 对应没有时区的值:select localtimestamp;
补充:时区转换
有些时候,时区转换对于特定时间在不同时区显示特别有用。AT TIME ZONE提供了这种功能,它是如何做到的?我们将在一个事务中进行演示,因为同一事务中now()函数总是返回相同的值,从而我们可以很容易看到同一时间在不同时区显示的差别。
postgres=# BEGIN;
BEGIN
postgres=# SELECT now();
now
-------------------------------
2013-08-26 12:39:39.122218+02
postgres=# SELECT now() AT TIME ZONE 'GMT';
timezone
----------------------------
2013-08-26 10:39:39.122218
postgres=# SELECT now() AT TIME ZONE 'GMT+1';
timezone
----------------------------
2013-08-26 09:39:39.122218
postgres=# SELECT now() AT TIME ZONE 'PST';
timezone
----------------------------
2013-08-26 02:39:39.122218总结
到此这篇关于PostgreSql日期类型处理的文章就介绍到这了,更多相关PostgreSql日期类型处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
PostgreSQL对GROUP BY子句使用常量的特殊限制详解
这篇文章主要介绍了PostgreSQL对GROUP BY子句使用常量的特殊限制详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02
PostgreSQL使用MySQL外表的步骤详解(mysql_fdw)
这篇文章主要介绍了PostgreSQL使用MySQL外表的步骤(mysql_fdw),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01
PostgreSQL 对IN,EXISTS,ANY/ALL,JOIN的sql优化方案
这篇文章主要介绍了PostgreSQL 对IN,EXISTS,ANY/ALL,JOIN的sql优化方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01
PostgreSQL处理时间段、时长转为秒、分、小时代码示例
最近在操作数据库时,遇到频繁的时间操作,每次弄完了就忘了,今天痛定思痛,下定决心对postgres的时间操作进行一下总结,这篇文章主要给大家介绍了关于PostgreSQL处理时间段、时长转为秒、分、小时的相关资料,需要的朋友可以参考下2023-10-10


最新评论