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