我的表中有一个列,它将时间存储为hh24miss格式,即它存储为091315
,这是09小时13分15秒。我需要将其转换为HH24:MI:SS并将其与YYYYMMDD
格式的日期列连接。
简单地说,以下列日期:19940601
和时间:091315
需要转换为
01-Jan-94 09:13:15
。
答案 0 :(得分:3)
您不应将日期存储为字符串,也不需要将时间存储在单独的字段中。 Oracle's DATE
data type包括从第二个到第二个的时间。 (你需要TIMESTAMP
几分之一秒。)
如果您真的不熟悉此架构,则需要将两个字符串转换为DATE
:
to_date(date_column || time_column, 'YYYYMMDDHH24MISS')
然后,您可以以任何您想要的格式显示它;你展示的将是:
to_char(to_date(date_column || time_column, 'YYYYMMDDHH24MISS'),
'DD-Mon-RR HH24:MI:SS')
虽然您拥有的数据是六月,而不是一月。
但实际上,请重新访问您的架构并为此使用适当的数据类型,不要将值存储为字符串。您没有验证,也没有简单的方法来检查您存储的值实际上是否代表有效的日期和时间。