Fórum manipulação de data no postgres #379598
16/06/2010
0
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
Curtir tópico
+ 0
Responder
Posts
16/06/2010
Jair N.
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)