web-dev-qa-db-ja.com

Oracle SQL DeveloperのDateTimeフィールドからTimeのみを抽出する方法は?

私は試した To_TimestampおよびSQL Developerの他のメソッドですが、これは私にとってはうまくいきました。

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

これに対するより良い解決策はありますか?

11
MontyPython

目標は、時間を表す文字列を生成することであると仮定します(これは、余分なto_number呼び出しにもかかわらず、投稿したクエリが返すものです)

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

別のデータ型を返す場合は、どのデータ型を返すかを指定する必要があります。たとえば、本当にINTERVAL DAY TO SECONDを返したい場合

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