gpt4 book ai didi

java - 在 Java 中将 Oracle 函数作为字符串传递

转载 作者:行者123 更新时间:2023-12-02 07:12:43 26 4
gpt4 key购买 nike

我有一个这样的查询..

String query = "UPDATE tbl_customer_policies SET "+
"start_date = ?," +
"next_pay_date = ?,"+
"maturity_date = ?, " +
"modified_at = CURRENT_TIMESTAMP,"+
"modifier = ?, status = ? " +
"WHERE id = ?";

现在,我想传递一个像 SYSDATE 这样的字符串来代替 start_date 的占位符。

我现在要做的就是在名为 String startDate = "SYSDATE" 的变量中设置该字符串,并将其绑定(bind)到该占位符。但我想这似乎不起作用。我收到此异常

ORA-01858: 在需要数字的地方发现了非数字字符

我必须传递这样的 Oracle 函数。如何实现这一目标?

最佳答案

如果它始终是sysdate,则无需对其进行参数化。直接在查询中设置它,如下所示:

String query = "UPDATE tbl_customer_policies SET "+
"start_date = sysdate," + // or "start_date = ADD_MONTHS(SYSDATE, 12),"
"next_pay_date = ?,"+
"maturity_date = ?, " +
"modified_at = CURRENT_TIMESTAMP,"+
"modifier = ?, status = ? " +
"WHERE id = ?";

并像之前一样设置所有其他参数。

关于java - 在 Java 中将 Oracle 函数作为字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15320456/

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