java - 在 preparedStatement 中使用 oracle 的 to_date

标签 java oracle jdbc prepared-statement

我正在尝试使用 preparedStatement 中的 to_date 在 oracle 数据库中输入日期,但出现错误。

代码片段:

sql = "select Identifier from metadata where content_cdate >=to_date(?,'dd-mm-yyyy') and content_cdate < to_date(?,'dd-mm-yyyy') and status='published' and content_mdate is null";

ps.setString(1, commonUtil.dateToString(startTime));

dateToString 方法返回如下值:2012-01-01 12:00:00

错误:

[Oracle][ODBC][Ora]ORA-01861: literal does not match format string

请指教。

最佳答案

您应该使用正确的 TO_DATE 格式掩码来匹配您的输入。

在您的情况下最有可能:TO_DATE(?,'YYYY-MM-DD HH24:MI:SS')

关于java - 在 preparedStatement 中使用 oracle 的 to_date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10120048/

相关文章:

oracle - 使用默认值和命名参数调用PL/SQL构造函数

java - Hibernate 映射顺序忽略大小写

mysql - Hibernate session.beginTransaction()调用和Mysql Start Transaction

Java 文字值赋值行为

java - 如何初始化哈希表

sql - Oracle 其中 'TEXT' 按一定百分比匹配某些内容

java - 使用 DataSource 设置 JDBC 属性

java - Web 应用程序的单一数据库连接

java - 什么方法签名适合返回通用对象?

java - Java中的hessian,如何控制实例化?