如何从Oracle SQL Developer中的DateTime字段中仅提取时间?

Mon*_*hon 11 oracle datetime oracle-sqldeveloper

我试过To_TimestampSQL 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
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

Jus*_*ave 31

假设你的目标是生成一个代表时间的字符串(这是你发布的查询返回的内容,尽管有无关的to_number调用)

SELECT to_char( <<column_name>>, 'HH24:MI:SS' )
  FROM table_name
Run Code Online (Sandbox Code Playgroud)

如果要返回不同的数据类型,则需要告诉我们要返回的数据类型.例如,如果你真的想要返回一个INTERVAL DAY TO SECOND

SELECT numtodsinterval( <<column name>> - trunc(<<column name>>), 'day' )
  FROM table_name
Run Code Online (Sandbox Code Playgroud)