web-dev-qa-db-fra.com

Comment extraire uniquement l'heure d'un champ DateTime dans Oracle SQL Developer?

J'ai essayé To_Timestamp et d'autres méthodes pour SQL Developer, mais seule celle-ci a bien fonctionné pour moi.

Select To_Number(To_Char(DateTime_FieldName, 'HH24'))
    || ':' || to_number(to_char(DateTime_FieldName, 'MI'))
    || ':' ||to_number(to_char(DateTime_FieldName, 'SS'))
from TABLE_NAME

Y a-t-il une meilleure solution à cela?

11
MontyPython

En supposant que votre objectif est de générer une chaîne représentant l'heure (ce que renvoie la requête que vous avez publiée malgré les appels étrangers to_number)

SELECT to_char( <<column_name>>, 'HH24:MI:SS' )
  FROM table_name

Si vous souhaitez renvoyer un type de données différent, vous devez nous indiquer le type de données que vous souhaitez renvoyer. Si, par exemple, vous voulez vraiment retourner un INTERVAL DAY TO SECOND

SELECT numtodsinterval( <<column name>> - trunc(<<column name>>), 'day' )
  FROM table_name
31
Justin Cave