我试图在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 - "输入值不足以构成日期格式"
有人可以帮我解决这个错误吗?谢谢!
答案 0 :(得分:0)
时间戳保持第二部分,所以你可以使用这样的东西:
INSERT INTO print_temp ( print_before_tswtz ) VALUES (TO_TIMESTAMP_TZ( TRUNC(SYSDATE) + INTERVAL '1' DAY - INTERVAL '1' SECOND||'.000000000' ) +
NUMTODSINTERVAL('5','DAY') ) ;