gpt4 book ai didi

java - 如何在准备好的语句查询中使用oracle SYSTIMESTAMP?

转载 作者:行者123 更新时间:2023-12-01 17:23:06 24 4
gpt4 key购买 nike

我需要运行插入查询,其中一列必须存储时间戳。该时间戳应该是oracle数据库在插入时生成的systemdate。我正在运行类似于此的准备好的声明:

insert into table_name (column1 , timestamp) values(?,SYSTIMESTAMP);

但是这在执行时在java中抛出异常。

我尝试过这个,它有效:

insert into table_name (column1 , timestamp) 
values(?,TO_TIMESTAMP(?, 'DD-MON-RR HH.MI.SSXFF AM'));

这里我传递的是 java 生成的时间戳,这不是我的要求。我必须存储数据库生成的时间戳。

最佳答案

SQL> 
create table t (col1 number, col2 timestamp default systimestamp);

Table T created.


SQL>
insert into t (col1) values (0);

1 row inserted.

SQL>
insert into t (col1) values (1);

1 row inserted.

SQL>
insert into t (col1, col2) values (2, systimestamp + 3);

1 row inserted.


SQL>
select * from t;

COL1 COL2
---------- --------------------
0 16-APR-2020 07.07.15
1 16-APR-2020 07.07.15
2 19-APR-2020 07.07.15

如果创建带有默认值的表列,则在插入行时,如果未提供值,oracle 将插入默认值。

关于java - 如何在准备好的语句查询中使用oracle SYSTIMESTAMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61254544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com