Filtrar campos DateTime
Hola amigos :confused:
Tengo un problemita, quiero hacer reportes de tablas por ejemplo : Un Listado de cumpleaños, ese dato lo puedo obtener filtrando el mes en el campo fecha de nacimiento que es un DateTime, cuando halgo la consulta trato de poner por ejemplo los cumpleaños de marzo con "like */03/*" y me dice que no es un valor valido de fecha, tengo muchos reportes que invariablemente tengo que filtrar el mes o el año de un campo TDateTime y no se como filtrarlo. Bueno espero me hayan entendido mi duda Gracias de antemano y espero su pronta ayuda :) |
Lógicamente el operador Like se utiliza para el texto no para fechas. Lo que quieres hacer deberas de utilizar Month o Extract Month from Campo_Fecha, depende del motor y tipo de tablas puede variar algo la instrucción a utilizar.
Un Saludo. |
Dependerá de la base de datos que manejes.
Puedes usar parámetros, puedes usar QuotedStr, pues cambiar el formato de la fecha dependiendo de tu manejador... en fin, puedes hacer un millón de cosas. |
Cita:
Justo esa es mi pregunta si puedo poner una funcion de ese tipo de ExtractMonth dentro de la consulta SQL, mi base es paradox del dbe de delphi, tiene alguna idea de si existe esta funcion como se llama? Saludos |
Cita:
Esta solucion que me das de poner un rango de fechas no me funciona teniendo en cuenta que el mes es fijo para cualquier año que tenga en mi base de datos, porque los cumpleaños de marzo son todos los del mes 3 en cualquier año entiendes, tendria que poner pedacitos de rangos año por año ycual seria el primer y ultimo año, entiendes. Esta variante que me dices de cambiar el formato de fecha resulta interesante deja probar. Saludos |
Solucion al problema Filtrar un DateTime
Hola amigos
Bueno a pesar de que no encontre justa la solucion entres sus respuestas si me dio una idea de por donde buscarle y aqui esta la solucion En el sql de un TQuery ponemos la instruccion que quede asi Select * from Mitabla where extract(month from DateField) = Mes y si lo hacemos directamente en el filtro de un TTable Month(DateField) = Mes Igual con el Año (Year) y el dia (Day) Saludos y Gracias |
La franja horaria es GMT +2. Ahora son las 22:15:32. |
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