Re: Consula por periodos actuales

From: "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
To: Ruben Fitó <r(dot)fito(at)ubiquat(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consula por periodos actuales
Date: 2014-06-13 12:40:44
Message-ID: CA+KjtGfhpOg_b5mtx6xygn2b3so7kZs9ceStmTBgwrx3FFgDTg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Ruben buenos dias

para esos casos puedes usar interval

select current_date, current_date - interval '10 day' as hace_10_dias;

select current_date, current_date - interval '15 day' as hace_15_dias;

http://www.postgresql.org/docs/9.3/static/functions-datetime.html

saludos

El 13 de junio de 2014, 7:10, Ruben Fitó <r(dot)fito(at)ubiquat(dot)com> escribió:

> Hola,
>
> me gustaría saber si existe alguna función en postgres que me permita
> buscar por diferentes "períodos" de mes, sin necesidad de hacer cálculos de
> periodos.
>
> Me explico, tenemos clientes que facturan cada mes, cada semana o cada 10
> días(por mes), o sea que mensualmente:
>
> Cliente 1(por mes) se facturaran la compras realizadas des de el 1 hasta
> final de mes.
> Cliente 2(por quincenas) se le facturaran las compras del 1 al 15 y del 15
> hasta final de mes.
> Cliente 3(cada 10 días) se le facturaran las compras del 1 al 10, del 11
> al 20 y del 21 a final de mes.
>
> Del mismo modo hay necesidad de hacer los cálculos de consumo por período
> en tiempo de ejecución, o sea, cuánto ha consumido hasta "ahora", en su
> periodo de facturación actual(mensual, quincenal o cada 10 días).
>
> Actualmente ahora tenemos en una función de bbdd los cálculos necesarios
> para determinar las fechas del periodo de facturación actual, pero hay
> necesidad de aplicar otro tipo de periodos(*semanalmente*, por ejemplo)
> en otros ámbitos y nos gustaría saber si existe alguna función en postgres
> que me permita distribuir los meses por diferentes periodos.
>
> Un ejemplo de lo que digo seria:
>
> SELECT sum(importe) FROM ventas WHERE cliente=12345 AND fecha_venta
> BETWEEN *inicio_periodo('X dias')* AND now();
>
>
> *incio_periodo* seria la función postgres donde le paso los días de
> duración del periodo, o también podría pasar una fracción del mes. No sé
> algo así.
>
> Una manera que he encontrado para hacerlo seria buscar las ventas del mes
> actual o de la semana actual.
>
> SELECT sum(importe) FROM ventas WHERE cliente=12345 fecha_venta BETWEEN
> (SELECT date_trunc('*MONTH*',now())::DATE) AND now(); --> para el mes
> actual.
> SELECT sum(importe) FROM ventas WHERE cliente=12345 fecha_venta BETWEEN
> (SELECT date_trunc('*WEEK*',now())::DATE) AND now(); --> para la semana
> actual.
> ?? --> Para la quincena actual
> ?? --> Para "decena" actual
>
> El problema está en que no puedo filtrar 'cada 10 dias' o 'cada quinzena'
> en esta consulta.
>
> Como lo veis, hay algo que pueda ayudarme??
>
>
> Muchas gracias de antemano.
>
> Saludos
>
>
> --
> *Ruben Fitó *
> Software Engineer
> [image: Ubiquat Technologies, SL] r(dot)fito(at)ubiquat(dot)com
> <j(dot)catarineu(at)ubiquat(dot)com>
> www.ubiquat.com
> Tota la informació continguda en aquest document i arxius adjunts és
> CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
> error, si us plau elimini'l i posi's en contacte amb l'emissor.
>
> All information contained in this document and any attachments are
> CONFIDENTIAL and protected under trade secret laws. If you receive this
> message by mistake, please delete it and notify it immediately to the
> sender.
>

--
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasperu(at)php(dot)net
jvenegasperu(at)gmail(dot)com

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ruben Fitó 2014-06-13 13:01:24 Re: Consula por periodos actuales
Previous Message Ruben Fitó 2014-06-13 12:10:32 Consula por periodos actuales