0

我试图在 oracle 中插入一个“TIMESTAMP(6) WITH TIME ZONE”格式的列。

下面是插入SQL:

INSERT INTO print_temp 
( print_before_tswtz ) 
VALUES 
( 
  TO_TIMESTAMP_TZ( TRUNC(SYSDATE) + INTERVAL '1' DAY -  INTERVAL '1' SECOND ) 
  +   
  NUMTODSINTERVAL('5','DAY') 
) ;

以下是我得到的错误;错误报告:

SQL 错误:ORA-01840:输入值对于日期格式 01840 不够长。00000 -“输入值对于日期格式不够长”

谁能帮我解决这个错误?谢谢!

4

1 回答 1

0

时间戳保持秒的部分,所以你可以使用这样的东西:

INSERT INTO print_temp ( print_before_tswtz ) VALUES (TO_TIMESTAMP_TZ( TRUNC(SYSDATE) + INTERVAL '1' DAY - INTERVAL '1' SECOND||'.000000000' ) +
NUMTODSINTERVAL('5','DAY') ) ;
于 2015-06-11T18:04:48.183 回答