Hola PabloJN:
Según recuerdo TO_DATE() recibe como parámetro UNA CADENA, no una fecha. Para obtener una fecha con el formato que quieres tienes que hacer lo siquiente:
Código:
to_date(to_char(sysdate, 'dd/mm/yyyy'), 'dd/mm/yyyy')
es decir, con la función TO_CHAR() obtienes una CADENA con el formato especificado. Esta cadena resultante la envías como parámetro a la función TO_DATE(), especificando el mismo formato.
Como recomendación, cuando trabajes con rangos de fechas no utilices BETWEEN, es mejor especificar los rangos de manera explícita.
Código SQL:
Ver originalSELECT * FROM tabla
WHERE
to_date(to_char(fecha, 'dd/mm/yyyy'), 'dd/mm/yyyy') >=
to_date(to_char(varia, 'dd/mm/yyyy'), 'dd/mm/yyyy')
AND
to_date(to_char(fecha, 'dd/mm/yyyy'), 'dd/mm/yyyy') <=
to_date(to_char(varia2, 'dd/mm/yyyy'), 'dd/mm/yyyy')
Ten cuidado en el operador relacional que utilizas (
<, <=, >, >=) para especificar los límites de tus rangos.
Saludos
Leo.