我正在尝试使用以下语句创建 JDBC 查询
String query = "SELECT COLUMN1,DATECOLUMN2 FROM tableName +
"where datediff(d,DATECOLUMN2,getdate()) <= 1";
st = conn1.createStatement();
rs = st.executeQuery(query); //receiving error here
我收到以下错误消息
java.sql.SQLException: "d" is not a recognized table hints option. If it is intended as a parameter to a table-valued function or to the CHANGETABLE function, ensure that your database compatibility mode is set to 90.
我确定查询由于某种原因无法识别 datediff 函数,我不确定为什么,因为我之前在同一应用程序中使用 HQL 并检索值。
在尝试使用我使用的替代函数
{fn TIMESTAMPADD( SQL_TSI_DAY, 1, CURRENT_TIMESTAMP)}
但它也失败了,我后来发现这仅用于 Derby 数据库
有人可以帮助我使用正确的 sql 函数通过 JDBC 将日期与当前日期进行比较
最佳答案
String query = "SELECT COLUMN1,DATECOLUMN2 FROM tableName "+
"where datediff(day,DATECOLUMN2,getdate()) <= 1";
关于java - 在sql jdbc查询中使用datediff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14250288/