Reputation: 2994
I tried To_Timestamp
and other methods for SQL Developer but only this one worked fine for me.
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
Is there a better solution to this?
Upvotes: 16
Views: 112285
Reputation: 231781
Assuming your goal is to generate a string representing the time (which is what the query you posted returns despite the extraneous to_number
calls)
SELECT to_char( <<column_name>>, 'HH24:MI:SS' )
FROM table_name
If you want to return a different data type, you'd need to tell us what data type you want to return. If, for example, you really want to return an INTERVAL DAY TO SECOND
SELECT numtodsinterval( <<column name>> - trunc(<<column name>>), 'day' )
FROM table_name
Upvotes: 45