查询今天数据:
select *
from 表名 as n
where n.create_date>=current_date;
查询昨天数据
select *
from 表名
where create_date>=current_date-30 and create_date <= current_date;
一个月
select create_date from 表名 where create_date >= current_date
and create_date <=(current_date::date + '30 day'::interval);
其他的一些复杂的函数就不研究了,都差不多大同小异的。
PGSQL查询今天,昨天的数据,一个月之内的数据
PGSQL查询今天的数据
select *
from 表名 as n
where n.create_date>=current_date;
PG查询昨天的数据:
方法1:
select *
from 表名 as n
where
age(
current_date,to_timestamp(substring(to_char(n.create_date, 'yyyy-MM-dd hh24 : MI : ss' ) FROM 1 FOR 10),'yyyy-MM-dd')) ='1 days';
方法2:
select *
from 表名 as n
where n.create_date>=current_date-1 and n.create_date <current_date;
n.create_date
是一个timestamp
的数据;
current_date
是pgsql
数据一个获取当前日期的字段;
to_char(timestamp,text)
把timestamp
数据转换成字符串;
substring(text from int for int)
截取想要的文本格式 ‘yyyy-MM-dd’
;
to_timestamp(text,'yyyy-MM-dd')
转换成timestamp
格式;
age(timestamp,timestamp)
获取两个时间之差 返回 days
PG查询最近一个月内的数据
select *
from 表名 as n
and n.create_date>=to_timestamp(substring(to_char(now(),'yyyy-MM-dd hh24:MI:ss') FROM 1 FOR 10),'yyyy-MM-dd')- interval '30 day';