Cita:
Empezado por marcial
Sólo he usado los CampoDate.AsString para filtrar las consultas con el LIKE...
|
Que es el mismo problema
. Si miras la documentacion de LIKE veras que es un operador de TEXTO. No uno de FECHAS. Es como intentar usar UPPER con un numero: No tiene sentido.
Es MUY problematico hacer esos brincos de tipos, porque eso afecta todo: El orden, la exactitud, lo correcto de esas operaciones, la velocidad (si esos campos tienen indices al pasar a texto LOS ANULASTE), etc.
Mira por ejemplo:
"Mentiras que los programadores creen sobre el tiempo":
https://infiniteundo.com/post/253269...eve-about-time
Con solo los primeros flipas:
Cita:
There are always 24 hours in a day.
Months have either 30 or 31 days.
Years have 365 days.
February is always 28 days long.
|
---
Asi que lo que debes hacer es usar la funcion de fecha correcta, o traducir lo que hace LIKE al pensamiento de fechas. Si lo que quieres es filtrar por ejemplo "dame los registros del mes", entonces debe extraer el año/mes y comparar con año/mes.
Para eso consulta la documentacion de la BD. Hay estan las funciones correctas de fecha.
P.D: Aunque a nivel
informativo te han explicado como internamente estan implementados los tipos de fecha, NO USES FECHAS ASI. Es incorrecto convertir fechas a flotantes* y hacer comparaciones. Es igual de erroneo que usar texto.
*Porque hacer comparaciones con flotantes es de los mas flipante/absurdo que hay.