格式化日期为 2017-06-21T12:33:47.879 格式

Formatting date to 2017-06-21T12:33:47.879 format

在数据库中,我有 TIMESTAMP 数据类型,如 17/06/21 12:33:47,879000000,我想 select 格式为 2017-06-21T12:33:47.879

编辑: 我尝试了 to_char(MODIFIED_TIME,'YYYY-MM-DD HH:MI:SS:FF') 但得到了

2010-11-12 11:47:50:294000。如何在毫秒结束时添加此 'T' 并删除这些 '0'

您可以使用这样的格式化模型:

SELECT TO_CHAR( systimestamp ,'yyyy-mm-dd"T"HH24:MI:SS.FF') AS ts
  FROM dual;

 TS
 -----------------------
 2020-08-26T09:51:25.600016

SELECT TO_CHAR( timestamp'2017-06-21 12:33:47.879000000', 'yyyy-mm-dd"T"HH24:MI:SS.FF' )  
    AS ts
  FROM dual;

 TS
 -----------------------
 2017-06-21T12:33:47.879000000

特定日期和时间。

交替使用

SELECT TO_CHAR( timestamp'2017-06-21 12:33:47.879000000', 'yyyy-mm-dd"T"HH24:MI:SS.FF3' ) AS ts,
       CAST( timestamp'2017-06-21 12:33:47.879000000' AS TIMESTAMP(3) ) As ts2
  FROM dual;

 TS                        TS2
 -----------------------   -----------------------
 2017-06-21T12:33:47.879   2017-06-21T12:33:47.879

将毫秒部分的精度设置为 3