将时间戳格式转换为char的问题

时间:2020-06-25 09:40:29

标签: sql oracle timestamp oracle-apex

具有此查询:

CREATE TABLE my_table 
   (    
    "CREATED" TIMESTAMP (6) DEFAULT sysdate NOT NULL ENABLE, 
    "CREATED_BY" VARCHAR2(256 BYTE) NOT NULL ENABLE, 
    "EFFECTIVEDATE" TIMESTAMP (6)
)

如果我对EFFECTIVEDATE列进行简单查询,则看起来像这样(经过一些插入) 查询:

select EFFECTIVEDATE
from my_table;

enter image description here

但是如果我想格式化该时间戳记... 查询:

select to_char(mt.EFFECTIVEDATE, 'YYYY-MM-DD HH:MM:SS') as "EffectiveDate"
from my_table mt

enter image description here

为什么将这些值添加到HH:MM:SS中?

我应该怎么做才能解决此问题?我需要将这些值作为STRING

它必须看起来像这样:

2020-06-26 00:00:00
2020-06-24 00:00:00
2017-01-01 00:00:00
2017-01-01 00:00:00
2017-01-01 00:00:00

我正在使用oracle 19。

1 个答案:

答案 0 :(得分:4)

因为您使用的是MM而不是MI

  • MM-月
  • MI-分钟

您应该使用:to_char(mt.EFFECTIVEDATE, 'YYYY-MM-DD HH:MI:SS')

HH代表12小时制,HH24代表24小时制