Re: Ayuda con horas

From: FRANCISCO JOSE PALAO VILLANUEVA <fjpv_2000(at)yahoo(dot)es>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con horas
Date: 2014-04-05 17:43:45
Message-ID: 1396719825.4912.YahooMailNeo@web172605.mail.ir2.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola
gracias la solución es interval.

Los pedidos tienen un intervalo de entrega de dos horas como mínimo, con esto se considera entregado en buen servicio un cuarto de hora antes y otro después de los extremos del intervalo. Importa porque los repartidores tienen pluses económicos por buen servicio. Hay clientes que igual que se quejan porque un pedido llegue un poco tarde también los hay que se quejan porque lo reciben antes de lo esperado.
Aquí en España la gente es así de exigente con el servicio a domicilio.
Saludos

________________________________
De: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Para: FRANCISCO JOSE PALAO VILLANUEVA <fjpv_2000(at)yahoo(dot)es>
CC: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Enviado: Viernes 4 de abril de 2014 21:30
Asunto: Re: [pgsql-es-ayuda] Ayuda con horas

FRANCISCO JOSE PALAO VILLANUEVA escribió:

> Hola,
> soy novato con las funciones de postgresql y necesito su ayuda, dentro de una query he de contar los pedidos entregados correctamente en su franja horaria de entrega con un margen de 15 minutos antes y después, en fin les expreso en pseudocódigo lo que necesito:
>
> sum(case when (hora1entrega-15 minutos <= hora_entrega_real  and hora2entrega+15minutos >= hora_entrega_real )  then 1 else 0 end) as entregaok

Creo que lo más simple es que uses BETWEEN:

CASE WHEN
hora_entrega_real BETWEEN
    hora1entrega - interval '15 min' AND
    hora2entrega + interval '15 min'
THEN 1 ELSE 0 END

Ojo con los NULL.

La otra opción sería usar un tipo de dato de rango; para este único caso
puede ser excesivo (tanques antimoscas y todo eso).

Otrosí: ¿qué importa si un pedido se entrega 20 minutos antes de lo
presupuestado?

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Eduardo Arenas C. 2014-04-06 04:05:16 Consideración para instalar postgresql en ambiente semi "virtualizado"
Previous Message Fernando Hevia 2014-04-04 21:48:25 Re: Crash de postgres version 9.1.3