Обсуждение: Como usar interval con un variable

Поиск
Список
Период
Сортировка

Como usar interval con un variable

От
liliana lazarte
Дата:
Hola gente:
Estoy haciendo un funcion que recibe como parametro fechainicial, fechafin, horainicial,horafin, y frecuencia. Esta funcion debe generar fechas que esten dentro del rango de fechas que paso como parametros, y por cada fecha, debe generar un rango de horas con minutos, pero segun la frecuencia. Bueno vamos a lo que me interesa,para generar las horas uso la frecuencia para ir incrementando la hora, este es un pedazo de codigo:

por ej:
frec=5; -- declarado como integer
v_horaini=8 --variable declarada como timestamp
v_horafin= 12 -- variable declarada como timestamp

v_hora1:=v_horaini;
WHILE v_hora1<=v_horafin LOOP
         v_hora_actual:=v_hora1;
          v_hora1:=v_hora1 + interval || '  '' ' || frec || ' minute '' '; --        ***Aca me genera error
 END LOOP;

Porque me genera error? y como podria ir haciendo para que v_hora se vaya incrementando segun la frecuencia, en el caso del ejemplo seria: 8, 8:05, 8:10,etc
Saludos y gracias

Re: Como usar interval con un variable

От
Matthias Müller
Дата:
Hola,

hay una portal en espanol sobre postgres con listas de correo y IRC:
    http://www.postgresql-es.org/comunidad

Aqui hablamos ingles. Sorry.

saludos desde Alemana.
Matthias

Am Dienstag, 4. Januar 2011, um 21:26:33 schrieb liliana lazarte:
> Hola gente:
> Estoy haciendo un funcion que recibe como parametro fechainicial, fechafin,
> horainicial,horafin, y frecuencia. Esta funcion debe generar fechas que
> esten dentro del rango de fechas que paso como parametros, y por cada
> fecha, debe generar un rango de horas con minutos, pero segun la
> frecuencia. Bueno vamos a lo que me interesa,para generar las horas uso la
> frecuencia para ir incrementando la hora, este es un pedazo de codigo:
>
> por ej:
> frec=5; -- declarado como integer
> v_horaini=8 --variable declarada como timestamp
> v_horafin= 12 -- variable declarada como timestamp
>
> v_hora1:=v_horaini;
> WHILE v_hora1<=v_horafin LOOP
>          v_hora_actual:=v_hora1;
>           v_hora1:=v_hora1 + interval || '  '' ' || frec || ' minute '' ';
> --        ***Aca me genera error
>  END LOOP;
>
> Porque me genera error? y como podria ir haciendo para que v_hora se vaya
> incrementando segun la frecuencia, en el caso del ejemplo seria: 8, 8:05,
> 8:10,etc
> Saludos y gracias