【发布时间】:2019-02-27 19:31:09
【问题描述】:
我在旧的 Oracle 数据库中有一些时间戳数据需要转换为 HH:MM:SS。尝试使用 to_char 函数后,我给出的值不可读(例如 105001,to_char('105001','HH24:MI:SS)),此 SQL 将中断。我可以将 sysdate 转换为不正确的格式,但我无法反转该过程。
例如:
select to_char(sysdate, 'HHmiss')from table
返回“105001”
我需要将 hhmmss 格式转换为 HH:MM:SS 的东西,所以当我生成一个 select 语句时,它是可读的格式。
【问题讨论】:
-
105001是一个数字,'105001'是一个字符串(因此将其传递给to_char()并没有什么意义)。时间戳也不是。你实际上是从什么数据类型开始的?目前尚不清楚您真正想要做什么,因此示例数据和预期结果可能会有所帮助。我怀疑你实际上只是在看一个无用的 NLS 设置,但这真的很难说...... -
您需要先将您的号码转换为日期,例如
to_char(to_date(105001, 'hh24miss'), 'hh24:mi:ss')
标签: oracle