postgresql怎么查询一个月内每天的数据量

2024-05-13

1. postgresql怎么查询一个月内每天的数据量

右连接一个表,表就是一段时间的每天日期

postgresql怎么查询一个月内每天的数据量

2. 请教pgsql中时间,统计相关的函数,如date

1.获取系统时间函数
select now();                --2012-05-12 18:51:59.562+08
select current_timestamp;    --2012-05-12 18:52:12.062+08
select current_date;         --2012-05-12
select current_time;         --18:53:23.234+08
2.时间的计算 
--使用interval
select now()+interval '2 day';  --2012-05-14 20:05:32.796+08 2天后
select now()-interval '2 day';  --2012-05-10 20:07:23.265+08 2天前
select now()+interval '2 hour'; --2012-05-12 22:06:38.375+08 2小时后
....

interval可以不写,其值可以是
Abbreviation  Meaning
Y             Years
M             Months (in the date part)
W             Weeks
D             Days
H             Hours
M             Minutes (in the time part)
3.时间的截取 
--使用extract extract(interval,timestamp);
select extract(year from now());  --2012
select extract(mon from now());     --5 5月份
...

interval值参考上面
4.时间的转换
select timestamp '2012-05-12 18:54:54';  --2012-05-12 18:54:54
select date '2012-05-12 18:54:54';       --2012-05-12
select time  '2012-05-12 18:54:54';      --18:54:54
select TIMESTAMP WITH TIME ZONE '2012-05-12 18:54:54'   
--2012-05-12 18:54:54+08

--与unix时间戳的转换
SELECT TIMESTAMP 'epoch' + 1341174767 * INTERVAL '1 second'; 
--2012-07-01 20:32:47

3. 我如何确定前一个月使用PostgreSQL的最后一天

是这个吗


L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样

我如何确定前一个月使用PostgreSQL的最后一天

4. postgresql 两个日期间隔的月份

-- 使用 age 函数. 返回2个日期直接的间隔, 生成一个使用年、月的"符号化"的结果Test=# SELECT age('2013-04-01', timestamp '2010-01-01');      age---------------- 3 years 3 mons(1 行记录)-- 取得具体的 int 数字Test=# SELECTTest-#   EXTRACT(YEAR from age('2013-04-01', timestamp '2010-01-01')),Test-#   EXTRACT(MONTH from age('2013-04-01', timestamp '2010-01-01')),Test-#   EXTRACT(DAY from age('2013-04-01', timestamp '2010-01-01')); date_part | date_part | date_part-----------+-----------+-----------         3 |         3 |         0(1 行记录)

5. postgresql 数据库我要知道当前时间最近24小时的数据或者求出当前时间的前24小时是多少时间也可以求帮助

可否具体说明,要的是什么数据?

postgresql 数据库我要知道当前时间最近24小时的数据或者求出当前时间的前24小时是多少时间也可以求帮助

6. postgresql里面怎么得到两个日期相差多少秒,或者多少分钟

PostgreSQL中直接用两个date(或者timestamp)值相减,其返回的是一个interval值,再有该interval值取出天数转换成分钟或秒数,再加上interval中分钟(和秒数)部分的值就可以了。
示例SQL:
select interval_value, date_part('day', interval_value) as day_value, date_part('day', interval_value) * 24 * 60 + date_part('minute', interval_value) as minutesfrom (select (current_timestamp - to_timestamp('2013-08-21 13:23', 'yyyy-mm-dd hh24:mi')) as interval_value) s;

7. PostgreSQL 日期加减问题

PostgreqSQL中日期值可以和interval直接做加减运算。所以,只要把年龄转换成按年的interval值,就可以运算出结果了。示例:
select dv, age, dv - (age || ' year')::interval as nd  from (  select '2014-10-21'::date as dv, 2 as age) s;

PostgreSQL 日期加减问题

8. postgresql 求两个时间差 (相差天数,timestamp类型)

如果是按相差24小时就算1天的话,直接用两个timestamp值相减得到一个interval值,然后获得此interval值的天数部分即可,如下:
select date_part('day', '2015-01-15 17:05'::timestamp - '2013-01-14 16:05'::timestamp);如果要按timestamp的日期部分做相差天数,则可以转成date值,然后直接相减,如下:
select ('2015-01-15 17:05'::timestamp)::date - ('2015-01-14 19:05'::timestamp)::date;
最新文章
热门文章
推荐阅读