Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2010
Xcalibur Xcalibur is offline
Registrado
 
Registrado: ene 2008
Posts: 5
Poder: 0
Xcalibur Va por buen camino
Tienes un problema grave:

ya que la hora está siendo grabada como texto y en formato am/pm (para remate), resulta imposible comparar rangos de horas que crucen las 12:00 m, ejemplo:

06:33 AM es menor que 04:00 PM

pero

'06:33 AM' es MAYOR que '04:00 PM',

¿Como puede ser esto?

Muy sencillo: se están comparando textos (que representan horas pero siguen siendo literales), es decir '0' es igual a '0', pero '06' es MAYOR que '04', sin importar lo que siga a continuación ni el significado que tenga para nosotros.

Soluciones:

1.- Si tienes los fuentes del sistema en uso: (la más fácil)
1.1.- Cambia el formato de la hora grabada a 24 horas (04:00 PM = 16:00)
1.2.- Diseña una aplicación que recorra la tabla y actualice el campo con el nuevo formato.
1.3.- Usa el campo Hora para la consulta (en todo caso deberas hacer 3 clausulas):
WHERE ...
AND ((Fecha = :FechaInicial) AND (Hora >= :HoraInicial))
AND ((Fecha > :FechaInicial) AND (Fecha < :FechaFinal))
AND ((Fecha = :FechaFinal) AND (Hora<= :HoraFinal))

2.- No tienes los fuentes del sistema en uso: (la menos fácil)
2.1.- Agrega un campo (a la tabla Facturas claro) tipo VARCHAR (05) y lo llamas Hora24 o algo así.
2.2.- Crea un Trigger para la tabla "Facturas" que actualice dicho campo con la hora en formato 24H basado en el campo hora que se usa actualmente.
2.3.- Usa el nuevo campo Hora24 para la consulta (en todo caso deberas hacer 3 clausulas):
WHERE ...
AND ((Fecha = :FechaInicial) AND (Hora24 >= :HoraInicial))
AND ((Fecha > :FechaInicial) AND (Fecha < :FechaFinal))
AND ((Fecha = :FechaFinal) AND (Hora24<= :HoraFinal))

Bueno, me cansé.

Suerte...
Responder Con Cita
  #2  
Antiguo 18-03-2010
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 137
Poder: 23
El_Raso Va por buen camino
Con el metodo de elarys resolvi la situacion... Gracias a todos!!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta SQL con fecha y hora vpepen SQL 0 10-12-2009 17:11:13
Filtrar consulta por fecha y hora Alejandrina SQL 4 16-06-2008 08:18:10
Consulta MySQL con fecha y hora Adrian Murua SQL 10 19-11-2007 05:32:08
Juntar fecha y hora para consulta SQL Iuconlas SQL 6 21-02-2007 12:16:40
Error en consulta con fecha y hora. Tecnic2 SQL 10 01-10-2005 01:35:25


La franja horaria es GMT +2. Ahora son las 23:14:45.


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
Copyright 1996-2007 Club Delphi