Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta de rango de fecha en sql (https://www.clubdelphi.com/foros/showthread.php?t=77897)

novato_erick 04-03-2012 20:13:19

consulta de rango de fecha en sql
 
Hola Agradezco su ayuda en esta consulta:

Lo que deseo es que me agrupe una consulta por rango de fecha y mi motor de base de datos es Firebird pero me dice que tengo error en expresiones

Código SQL [-]
select df.CODIGO_BARRAS, d.DESCRIPCION, SUM(DF.TOTAL) as Total_depa, SUM(DF.MONTOIMPUESTO) as Total_impuesto, SUM(df.MONTO_DESCUENTO) as descuento,
 SUM(fv.MONTODESCUENTO) as Descuento_global, df.IMPUESTO, (DF.PRECIO_UNITARIO )as subtotal 
from FACTURAS_VENTAS fv, DEPARTAMENTOS d, DETALLE_FACTURASVENTAS df where df.CODIGO_BARRAS = d.COD_DEPARTAMENTO and FV.ID_FACTURA = df.ID_FACTURA 
and fv.FECHA  >= 03/03/2012 04:59:56 p.m. AND fv.FECHA 03/03/2012 09:08:56 p.m.
  
group by DF.CODIGO_BARRAS, d.DESCRIPCION, df.IMPUESTO, DF.PRECIO_UNITARIO

order by DF.CODIGO_BARRAS


Saludos


novato_erick

Caral 04-03-2012 20:20:46

Hola
Seria mejor dos consultas, para mi.
Saludos

novato_erick 04-03-2012 20:37:10

Hola Caral como has estado?

a que te refieres con dos Consulta?


Saludos

novato_erick

duilioisola 04-03-2012 20:48:52

Para empezar debes definir correctamente las fecha (entre comillas simples)
Ten en cuenta que si separas las fechas con / el formato es mes/dia/año hora:minuto:segundo
Mira esto
Las horas las he puesto en formato 24h (9pm=21)
Código SQL [-]
select 
df.CODIGO_BARRAS, 
d.DESCRIPCION, 
SUM(DF.TOTAL) as Total_depa, 
SUM(DF.MONTOIMPUESTO) as Total_impuesto, 
SUM(df.MONTO_DESCUENTO) as descuento,
SUM(fv.MONTODESCUENTO) as Descuento_global, 
df.IMPUESTO, 
(DF.PRECIO_UNITARIO )as subtotal 

from 
FACTURAS_VENTAS fv, 
DEPARTAMENTOS d, 
DETALLE_FACTURASVENTAS df 

where 
df.CODIGO_BARRAS = d.COD_DEPARTAMENTO and 
FV.ID_FACTURA = df.ID_FACTURA and 
fv.FECHA  >= '03/03/2012 16:59:56' AND 
fv.FECHA '03/03/2012 21:08:56'

group by DF.CODIGO_BARRAS, d.DESCRIPCION, df.IMPUESTO, DF.PRECIO_UNITARIO

order by DF.CODIGO_BARRAS

Por lo de agrupar por rango de fecha tengo una pregunta:
¿Qué rango?
- diario
- semanal
- mensual
- otro

novato_erick 04-03-2012 21:20:12

en realidad el rango de fecha puede ser en los tres casos, pero esta seria una consulta del mismo día la diferencia son las horas.

Saludos

novato_erick 04-03-2012 21:49:00

otra cosa que intente fue esto:
Código SQL [-]
SELECT * FROM FACTURAS_VENTAS WHERE FECHA BETWEEN '03/03/2012 04:59:56 p.m.' AND '03/03/2012 09:08:56 p.m.'

pero me manda esto:

overflow ocurred during data type conversion. Conversiono error from string "03/03/2012 04:59:56 p.m".

duilioisola 04-03-2012 22:17:16

Primero que todo: Trata las fecha de ponerlas en formato 24h.
Código SQL [-]
SELECT * FROM FACTURAS_VENTAS WHERE FECHA BETWEEN '03/03/2012 16:59:56 ' AND '03/03/2012 21:08:56'
Deberías también, verificar que tipo de campo es FECHA en la tabla FACTURA_VENTAS.
Puede ser un DATE, un TIME o un TIMESTAMP.
En el caso de DATE, no se guardan las horas, solo la fecha y puede ser que te de problemas (solo Firebird Dialect 3)

novato_erick 04-03-2012 22:22:25

Tienes razón el tipo de campo es TIMESTAMP la solución estaba en poner 24 horas a la consulta y luego quitar el p:m cosa que no habia hecho por eso aunque le cambiara el formato de hora me provocaba el error.

Saludos y gracias por tu ayuda duilioisola.


La franja horaria es GMT +2. Ahora son las 15:12:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi