java – 如何在JDBC PreparedStatement中设置公式
发布时间:2020-12-15 08:41:31 所属栏目:Java 来源:网络整理
导读:我有一个PreparedStatement,我用它来插入一堆包含大量列数据的行.但是,对于其中一个列(时间戳),如果值为null,我希望它在服务器上执行getDate(). 我知道我可以做新的Date(),但这不会真正起作用,因为,由于遗留报告,它需要匹配另一个具有自动插入值的列. 我们还
我有一个PreparedStatement,我用它来插入一堆包含大量列数据的行.但是,对于其中一个列(时间戳),如果值为null,我希望它在服务器上执行getDate().
我知道我可以做新的Date(),但这不会真正起作用,因为,由于遗留报告,它需要匹配另一个具有自动插入值的列. 我们还说我无法更改架构并为列添加默认值. 有没有办法可以在PreparedStatement中将公式设置为参数? 编辑添加: PreparedStatement statement = connection.prepareStatement("insert into row (name,starttime) values (?,?)") statement.setString(1,name); statement.setDate(2,date); 我想要的是,像: PreparedStatement statement = connection.prepareStatement("insert into row (name,name); if(date != null) statement.setDate(2,date); else statement.setFormula(2,"getdate()"); 我明白那个: if(date == null) date = new Date(); 基本上是相同的,但在我们的情况下,它真的不是. 解决方法
简单地准备表单声明是否有效
insert into row(name,starttime) values(?,coalesce(?,getdate()) ?然后设置null第二个参数应该导致getdate()调用? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |