sql >> Base de Datos >  >> RDS >> Oracle

¿Oracle obtiene solo la hora de To_Date () en una consulta?

TO_DATE('08:35:42 AM','HH:MI:SS PM')

La razón por la que esto no funciona es porque no es una fecha completa. Incluso cuando usa to_date('07/12/2011','MM/DD/YYYY'), Oracle almacena la fecha y la hora, pero hace que todos los componentes de la hora sean CERO. Entonces, la fecha real almacenada es 12/07/2011 HH:MI:SS

Si desea almacenar el componente de tiempo por separado, debe ser un campo varchar y deberá agregarlo a la parte de la fecha para obtener la fecha completa. Ejemplo..

Select to_date(
          to_char(date_field_stored_as_date,'DD-MON-YYYY') || 
          ' ' ||
          to_char(time_field_stored_as_varchar),
         'DD-MON-YYYY HH24:MI:SS'    
       )