Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle Obtenir uniquement l'heure de To_Date() dans une requête ?

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

La raison pour laquelle cela ne fonctionne pas est qu'il ne s'agit pas d'une date complète. Même lorsque vous utilisez un to_date('07/12/2011','MM/DD/YYYY'), Oracle stocke la date et l'heure, mais met tous les composants de l'heure à zéro. La date réelle stockée est donc le 07/12/2011 HH:MI:SS

Si vous souhaitez stocker le composant horaire séparément, il doit s'agir d'un champ varchar et vous devrez l'ajouter à la partie date pour obtenir la date complète. Exemple..

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'    
       )