Wenas:
Tengo una duda con la función trunc(DATE).
Su funcionamiento está +/- claro, por ejemplo, en http://www.techonthenet.com/oracle/f...trunc_date.php, pero me queda la duda siguiente.
Si se trunca la fecha, sin indicar el formato, devuelve la fecha sin horas, ¿esto quiere decir que si esta fecha "truncada" la comparas con otras fechas q SI lleven la hora, lo hará, comparando las 24 horas de la fecha "truncada".
Es decir, si dentro de una query cualquiera se hace algo asi
where trunc(campo_fecha) between fecha_inicio and fecha_final
siendo fecha_inicio y fecha_final campos de tipo date, con hora, el filtro sería comparar campo_fecha "truncada", por lo tanto, sin hora, con dos fechas q si la tienen, por lo q entiendo que campo_fecha es como si valiera para las 24 horas del día. Y si no es así, ¿como funciona realmente?
Pongo un ejemplo:
Hago una query con el filtro indicado arriba, y me devuelve 34 registros, todos con campo_fecha = 02/09/2005, mientras que si a dicho filtro, le quito el trunc de campo_fecha, me devuelve tan solo 5 registros, y todos con campo_fecha = 01/09/2005 (por supuesto, lo digo por si acaso, los campos que sirven como rango de fechas a comparar, en ambos casos tienen el mismo valor).
Absolutamente diferente.
Y algo más indicativo: si hago
where trunc(campo_fecha) between fecha_inicio and fecha_final
pero fecha_inicio y fecha_final no tienen hora, devuelve los 34 registros + los 5 q antes comenté.
La verdad es q estoy hecho un lio.
No tengo claro haberlo explicado correctamente, pero no es fácil hacerlo.
Salu2 y gracias.