Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2012
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
consulta entre fecha+hora+min+segundos

B. tardes a todos, tengo una duda acerca de una consulta entre fecha+hora+min+segundos pues resulta que tengo tabla definida con los campos id char(2),nomarchivo char(20),fecha_inicio date, fecha_final date
en esta tabla se guarda los nombre de los archivos que tiene un vencimiento, ahora necesito hacer una consulta en la cual por medio de la fecha+hora+min+segundos ya sea actual o de cualquier momento me indique cual es el archivo que voy a utilizar:

Tengo los datos asi
Código:
id nomarchivo         fecha_inicio             fecha_final
1  archivo2008.txt  2008-10-12 15:30:54.000 2010-10-12 15:30:55.000
2  archivo2010.txt  2010-10-12 15:30:50.000 2012-10-12 15:30:50.000
3  archivo2012.txt  2012-10-12 15:30:50.000 2014-10-12 15:30:50.000
4  etc ...
por ejemplo si consulto la fecha del dia (2010 09 05 14:22:33) me tendria que salir el id que pertenece al archivo2008.txt, si consulto
la fecha del dia (2010 10 14 09:12:30) me tendria que salir el id que pertenece al archivo2010.txt y asi.
mi consulta es esta
Código SQL [-]
select * from    sellos_inf
where 
    '20100905 14:22:33' >=  fecha_inicio
and '20100905 14:22:33' <= fecha_final

¿cómo le indico que estoy buscando por fecha+hora+min+segundos a sql server 2000?

gracias

Última edición por Casimiro Notevi fecha: 18-09-2012 a las 23:42:08.
Responder Con Cita
  #2  
Antiguo 19-09-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
En tú SQL no te devolvera nada, ya que nada se cumple.
Código SQL [-]
select * from    sellos_inf
where 
    '20100905 14:22:33' >=  fecha_inicio
and '20100905 14:22:33' <= fecha_final
Cita:
por ejemplo si consulto la fecha del dia (2010 09 05 14:22:33) me tendria que salir el id que pertenece al archivo2008.txt
Eso no es cierto:
Cita:
id nomarchivo fecha_inicio fecha_final
1 archivo2008.txt 2008-10-12 15:30:54.000 2010-10-12 15:30:55.000
Fecha_Inicio >= '05/09/2010 14:22:33' = False ya que este empieza por 12/10/2008 15:30:54

Fecha_Final <= '05/09/2010 14:22:33' = True

Cita:
si consulto la fecha del dia (2010 10 14 09:12:30) me tendria que salir el id que pertenece al archivo2010.txt
Eso no es cierto:
Cita:
id nomarchivo fecha_inicio fecha_final
2 archivo2010.txt 2010-10-12 15:30:50.000 2012-10-12 15:30:50.000
Fecha_Inicio >= '14/10/2010 09:12:30' = False ya que este empieza por 12/10/2010 09:12:30

Fecha_Final <= '12/10/2012 15:30:50' = True


No te devolvera ningún resultado ya que no se cumple en ninguno de los resultados.

Lo que tienes que hacer es, si tiene un vencimiento pues tienes que usar la fecha de finalización
Código SQL [-]
SELECT *
  FROM Sellos_Inf
  WHERE FECHA_FINAL BETWEEN '05/09/2010 14:22:33' AND '12/10/2010 15:30:55'
Esto te devolvera:
Cita:
id nomarchivo fecha_inicio fecha_final
1 archivo2008.txt 2008-10-12 15:30:54.000 2010-10-12 15:30:55.000
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #3  
Antiguo 19-09-2012
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
ok ya entendi buscar por la fecha final pero sin en cambio yo cosulto otra fecha dentro de un rango ya no me da el resultado por ejemplo
Código PHP:
SELECT *
  
FROM Sellos_Inf
  WHERE FECHA_FINAL BETWEEN 
'12/10/2012 15:30:49' AND '12/10/2012 15:30:49' 
la intension es buscar dentro del rango de fecha por que se tiene definido una fecha inicial y final, me falta hacer un convert por usar fecha+hora+min+seg

gracias
Responder Con Cita
  #4  
Antiguo 20-09-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
Empezado por uper Ver Mensaje
ok ya entendi buscar por la fecha final pero sin en cambio yo cosulto otra fecha dentro de un rango ya no me da el resultado por ejemplo
Código PHP:
SELECT *
  
FROM Sellos_Inf
  WHERE FECHA_FINAL BETWEEN 
'12/10/2012 15:30:49' AND '12/10/2012 15:30:49' 
la intension es buscar dentro del rango de fecha por que se tiene definido una fecha inicial y final, me falta hacer un convert por usar fecha+hora+min+seg

gracias
No te funciona porque si usas segundos también tienes que usar décimas que deben de oscilar 000 al 999
Código SQL [-]
SELECT *
  FROM Sellos_Inf
  WHERE FECHA_FINAL BETWEEN '12/10/2012 15:30:49.000' AND '12/10/2012 15:30:49.999'

Nunca utiliza un "ID Char(2)" cuando su contenido es numérico, en su defecto utiliza "ID int IDENTITY(1,1)".

Un saludo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
Respuesta



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 de fecha con hora, como? El_Raso SQL 6 18-03-2010 19:01:13
Consulta SQL con fecha y hora vpepen SQL 0 10-12-2009 17:11:13
Convertir segundos a formato hora, minutos y segundos jafera Varios 2 07-02-2009 22:13:45
Consulta MySQL con fecha y hora Adrian Murua SQL 10 19-11-2007 05:32:08
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 06:01:16.


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