Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle Obtém apenas o tempo de To_Date() em uma consulta?

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

A razão pela qual isso não funciona é porque esta não é uma data completa. Mesmo quando você usa um to_date('07/12/2011','MM/DD/AAAA'), o Oracle armazena a data e hora, mas torna todos os componentes da hora ZERO. Portanto, a data real armazenada é 12/07/2011 HH:MI:SS

Se você deseja armazenar o componente de hora separadamente, deve ser um campo varchar e você precisará adicioná-lo à parte de data para obter a data completa. Exemplo..
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'    
       )