作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要运行插入查询,其中一列必须存储时间戳。该时间戳应该是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/
我是一名优秀的程序员,十分优秀!