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

时间:2020-08-26 06:27:01

标签: sql oracle sqldatetime

在数据库中,我拥有TIMESTAMP这样的17/06/21 12:33:47,879000000数据类型,并且我想选择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'

1 个答案:

答案 0 :(得分:2)

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

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