Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

SQL... where datetime >= time AND...en transactsql sqlser

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: SQL... where datetime >= time AND...en transactsql sqlser Responder citando

Tengo una aplicacion en builder con bd paradox que compara campos tipo time en las consultas sql y campos tipo date por separado, pero al migrar a sqlserver solo tengo campos datetime, con lo que cuando comparo un campo datetime > '15:00' me esta comparando la fecha y hora del datetime con la fecha actual y 15:00 , y yo solo quiero que me compare las horas.

No se si me explico bien.

Se me paso una solución un poco chapuza por la cabeza y es escribir la misma fecha en todos los campos time, asi por ejemplo en lugar de guardar '16:00' como en paradox, guardaria '1900/01/01 16:00:00' y lo compararia con '1900/01/01 15:00:00' en lugar de usar '15:00', pero no me gusta esta solución.

¿Hay alguna manera de comparar solo las horas o solo las fechas? de 2 campos datetime en la consulta sql en sql server?

Gracias de antemano.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

No manejo MS SQL Server pero en Firebird existe una función que hace lo que necesitas.. me imagino que investigando un poco encontraras una similar en MS SQL Server.

Ejemplo en Firebird
Código:

   AnsiString SQL = "SELECT * FROM Tu_Tabla "
"WHERE CAST(Tu_campo as Time) > 15:00"


En este caso se utiliza la función CAST que convierte el valor completo de la fecha en solo un tipo de dato TIME y con esto se puede realizar la comparación.

Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

gracias, en sql server hay cast y convert pero no vi ningun ejemplo de como usarlos, voy a probar.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Pues no consigo que funcione, no hay nada en transact sql que me sirva, hay una funcion que es datepart pero solo me sirve para comparar horas y minutos por separado, pero no todo junto.

:_
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.