将日期格式转换为' dd-MMM-yyyy'

时间:2014-06-13 05:13:53

标签: java oracle date

所以我有一个函数,它将java.sql.Date fromDate作为输入参数。其格式为yyyy-MM-dd(2014-05-01)。现在我想将其转换为格式dd-MMM-yyyy(2014年5月1日)以插入到oracle db中。我必须使用setDate对象中的PreparedStatement函数。任何帮助表示赞赏。有没有办法将sql Date转换为不同的格式而不将其转换为String?

public class Sample{

private static final String CHECK_HOLIDAY = " select count(*) as noofdays from TLTA.SITE_HOLIDAY where (HOLIDAY_DATE between ? and ? )";

public int getSiteHolidays(Leave leave) {
    int holidays = 0;
    try {
        Connection con = ConnectionProvider.getCon();
        PreparedStatement ps = con.prepareStatement(CHECK_HOLIDAY);
        ps.setString(1,leave.getFromDate());
        ps.setString(2,leave.getToDate());
                  /*
                   *other code
                   */
                }
            catch(Exception e){
            }
          }
      }

Date获得的leave.getFromDate()是2014-05-01。当这绑定到PreparedStatement时,我在执行

查询时遇到错误

ORA-01861:文字与格式字符串不匹配 01861. 00000 - “文字与格式字符串不匹配” *原因:输入中的文字必须与文字中的文字长度相同            格式字符串(前导空格除外)。如果            “FX”修饰符已经打开,文字必须完全匹配,            没有额外的空白。 *操作:更正格式字符串以匹配文字。

数据库中存储的日期格式为2014年5月1日。此外,当我尝试通过在2014年5月1日格式中给出日期来执行查询时,它会执行。此外,我尝试了StackOverflow上建议的其他修复程序。不适合我。我该如何解决这个问题?

0 个答案:

没有答案