【问题标题】:PreparedStatement set variable in quotesPreparedStatement 在引号中设置变量
【发布时间】:2016-11-15 22:13:05
【问题描述】:

我有这部分的选择

to_date(?,'YYYY-MM-DD HH24:MI:SS')

并从 java 中设置参数

stmt.setString(2, startDate);

但我的 startDate 是 String (2016-07-13 00:00:00),我需要这个结果

to_date('2016-07-13 00:00:00','YYYY-MM-DD HH24:MI:SS')

我可以做这个

stmt.setString(2, "\'"+startDate+"\'");

但我认为这是不好的做法。

我可以做这样的东西吗

to_date('?','YYYY-MM-DD HH24:MI:SS')

to_date(\'?\','YYYY-MM-DD HH24:MI:SS')

还是别的什么?

【问题讨论】:

    标签: java sql date prepared-statement


    【解决方案1】:

    这是OracleDocumentation的副本:

    void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException 
    

    将指定参数设置为给定的 java.sql.Date 值,使用给定的 Calendar 对象。司机使用日历 对象构造一个 SQL DATE 值,然后驱动程序将其发送到 数据库。使用 Calendar 对象,驱动程序可以计算 考虑到自定义时区的日期。如果没有日历对象 指定时,驱动程序使用默认时区,即 运行应用程序的虚拟机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2013-03-14
      相关资源
      最近更新 更多