manipulação de data no postgres
Pessoal, eu estou querendo fazer uma consulta onde o postgres me retorne as data de todos os dias do mes atual:
seria as data dessa maneira: 2010-06-01 à 2010-06-30, alguem pode me ajudar dando um exemplo?
seria as data dessa maneira: 2010-06-01 à 2010-06-30, alguem pode me ajudar dando um exemplo?
Guilhr
Curtidas 0
Respostas
Jair N.
16/06/2010
Seria acaso uma função para retornar todas as datas ou uma consulta para retornar apenas num período de tempo?
Bem uma função para exatamente isto não tenho conhecimento a não ser que você mesmo crie uma tipo:
CREATE TYPE typ_periodo AS (data DATE);
CREATE OR REPLACE FUNCTION fnc_periodo(inicial DATE, final DATE)
RETURNS SETOF typ_periodo AS
$BODY$
DECLARE
int_dias INT;
ret_periodo typ_periodo%rowtype;
BEGIN
IF (final >= inicial) THEN
FOR i_dias IN 0..date_mi(final, inicial)
LOOP
ret_periodo.data = (SELECT inicial + i_dias);
RETURN NEXT ret_periodo;
END LOOP;
END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Bem uma função para exatamente isto não tenho conhecimento a não ser que você mesmo crie uma tipo:
CREATE TYPE typ_periodo AS (data DATE);
CREATE OR REPLACE FUNCTION fnc_periodo(inicial DATE, final DATE)
RETURNS SETOF typ_periodo AS
$BODY$
DECLARE
int_dias INT;
ret_periodo typ_periodo%rowtype;
BEGIN
IF (final >= inicial) THEN
FOR i_dias IN 0..date_mi(final, inicial)
LOOP
ret_periodo.data = (SELECT inicial + i_dias);
RETURN NEXT ret_periodo;
END LOOP;
END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
GOSTEI 0