【发布时间】:2015-04-05 19:20:52
【问题描述】:
我有一个带有 DATE 字段的表(也可以输入)。如何编写查询以获取这样的月份间隔:
start end
2015-01-01 2015-01-31
2015-02-01 2015-02-28
2015-03-01 2015-03-31
and so on ..
我将使用什么样的 SQL 函数来得到这个结果? 我正在使用 Postgres 数据库。
查询会创建一个表来存储我的数据:
CREATE TABLE "DEPOSIT_EVENT" (
id bigint NOT NULL,
amount numeric(19,2),
date timestamp without time zone,
description character varying(255),
eventtype character varying(255),
processingdate timestamp without time zone,
status boolean,
view boolean,
deposit_id bigint,
CONSTRAINT "DEPOSIT_EVENT_pkey" PRIMARY KEY (id ),
CONSTRAINT fk_dp0pc33hchopclsau0uknefgr FOREIGN KEY (deposit_id)
REFERENCES "DEPOSITS" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
);
如上所述,我只想按月进行间隔。
例如我有几行:
id amount date
1 100 2014-01-01 08:39:51.774
2 31 2014-01-10 08:39:51.774
3 2 2014-01-21 08:39:51.774
4 22 2014-02-04 08:39:51.774
5 74 2014-03-14 08:39:51.774
我只想要包含这样一个或多个项目的月份:
column
2014-01-01 - 2014-01-30
2014-02-01 - 2014-02-28
2014-03-01 - 2014-03-31
【问题讨论】:
-
您没有提供足够的信息让我们给您准确的答案,也许这个问题可以解决您的问题:Getting results between two dates in PostgreSQL
标签: sql postgresql