我有一个表,其中有一列具有数据类型TIMESTAMP(0)
当我使用
INSERT INTO TEST_TIMESTAMP VALUES(SYSDATE)
它以以下示例格式插入日期
12-SEP-12 10.31.19.000000000 AM
我想知道如何在表格中插入以下时间戳格式
12-SEP-12 10.31.19
和12-SEP-12 10.31.19 AM
我尝试TO_CHAR
在插入SYSDATE
表格时指定一些格式,但它不起作用。
请建议。
当您存储 aTIMESTAMP
时,它将始终以最大精度(使用小数秒)存储数据。
我认为您想要做的是提供一种格式来显示从数据库中检索日期的日期。
你可以这样做:
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
您可以很容易地退回它,例如:
从 DUAL 中选择 to_char(sysdate,'DD-MON-YY HH24:MI:SS');
在你的情况下使用:
INSERT INTO TEST_TIMESTAMP(column_name) VALUES(to_char(sysdate,'DD-MON-YY HH24:MI:SS'));
你错过了额外的()。
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'));
TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS')
这适用于列类型插入模式to_char
。