Oracle将hhmmss转换为hh:mm:ss

时间:2018-09-24 09:55:31

标签: oracle

我在旧的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语句时,它是可读的格式。

2 个答案:

答案 0 :(得分:1)

  

我在旧的Oracle数据库中有一些时间戳数据,需要将其转换为HH:MM:SS

只需使用HH24即可获得24小时制,并将:分隔符添加到格式模型中,然后使用{{1}将其直接应用于您的TIMESTAMP列}函数:

Oracle 11g R2架构设置

TO_CHAR

查询1

CREATE TABLE table_name ( your_timestamp_column TIMESTAMP );

INSERT INTO table_name ( your_timestamp_column )
  VALUES ( TIMESTAMP '2018-09-24 12:34:56' );

Results

SELECT TO_CHAR( your_timestamp_column, 'HH24:MI:SS') FROM table_name

您不需要将其输出为| TO_CHAR(YOUR_TIMESTAMP_COLUMN,'HH24:MI:SS') | |---------------------------------------------| | 12:34:56 | 字符串,然后尝试重新格式化它以添加分隔符,因为这不必要地复杂。

答案 1 :(得分:0)

您可以先从双重表(即虚拟表)中选择

有两种时间获取方式

24小时:喜欢5和15

select to_char(sysdate, 'HH24:MI:SS')from dual

结果

14:25:56

12小时:例如凌晨2点和下午2点

select to_char(sysdate, 'HH:MI:SS AM')from dual

结果

02:22:35 PM