在oracle timestamp列中插入时间戳

时间:2012-09-12 14:35:13

标签: oracle timestamp

我有一个表格,其中有一个数据类型为TIMESTAMP(0)

的列

使用

将日期插入此列时
INSERT INTO TEST_TIMESTAMP VALUES(SYSDATE)

它以下面的示例格式

插入日期

12-SEP-12 10.31.19.000000000 AM

我想知道如何在表格中插入以下时间戳格式

12-SEP-12 10.31.1912-SEP-12 10.31.19 AM

我尝试在将TO_CHAR插入表格时使用SYSDATE指定某些格式,但它无效。

请建议。

4 个答案:

答案 0 :(得分:3)

当您存储TIMESTAMP时,它将始终以最大精度(小数秒)存储数据。

我认为您要做的是提供一种格式,以便在您从数据库中检索时显示日期。

你可以这样做:

select to_char(timestampColumnName,'DD-MON-YY HH24:MI:SS') "Date" from test_timestamp

select to_char(timestampColumnName,'DD-MON-YY HH:MI:SS AM') "Date" from test_timestamp

答案 1 :(得分:1)

你可以很容易地回复:

  

SELECT to_char(sysdate,'DD-MON-YY HH24:MI:SS')FROM DUAL;

     
    

在您的情况下使用:

         
      

INSERT INTO TEST_TIMESTAMP(column_name)VALUES(to_char(sysdate,'DD-MON-YY HH24:MI:SS'));

    
  

答案 2 :(得分:0)

你错过了额外的()。

INSERT INTO TEST_TIMESTAMP
VALUES (TO_TIMESTAMP('12-SEP-12 10.31.19', 'DD-MON-YY HH.MI.SS'));

INSERT INTO TEST_TIMESTAMP
VALUES (TO_TIMESTAMP('12-SEP-12 10.31.19 AM', 'DD-MON-YY HH.MI.SS AM'));

答案 3 :(得分:-1)

TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS')

这是针对列类型to_char的插入。