У меня странная проблема с запросом, из которого я пытаюсь получить данные, запрашиваемые по параметрам начальной и конечной даты.
Я выполняю следующее.
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String preparedQuery = "SELECT ID, FULNAME, FRMEMAIL, LOCATION,TYPE1,TYPE2,BORROWER_NAME,LOAN_NUM,TIME_REQ
FROM FORM_REDUCVU WHERE to_date(TIME_REQ,'yyyy-mm-dd') >= ? AND to_date (TIME_REQ,'yyyy-mm-dd') <= ? ORDER BY ID DESC";
java.util.Date util_StartDate = sdf.parse( request.getParameter("time_req_date") );
java.sql.Date timreq_datevar1 = new java.sql.Date( util_StartDate.getTime() );
java.util.Date util_EndDate = sdf.parse( request.getParameter("time_req_date2") );
java.sql.Date timreq_datevar2 = new java.sql.Date( util_EndDate.getTime() );
out.println("datestamp java time vals "+timreq_datevar1 + " " + timreq_datevar2);
PreparedStatement prepstmt = connection.prepareStatement(preparedQuery);
prepstmt.setDate(1, timreq_datevar1);
prepstmt.setDate(2, timreq_datevar2);
А значения out.print будут примерно такими, как 2018-10-09 и 2019-02-20.Это соответствует выбранным мной настройкам выбора даты в формате мм / дд / гггг, т.е. 10/09/2018 и 02/20/2019.
Теперь приведенное выше не возвращает ошибок в журнале, но данных тоже нет.Но у меня был SQL-запрос «WHERE to_datechar(TIME_REQ,'mm/dd/yyyy') >= ? AND to_char(TIME_REQ,'mm/dd/yyyy') <= ?
. При переходе к описанному выше я получаю сообщение об ошибке в теме о недопустимом месяце.
Я бы подумал, что класс SimpleDateFormatмог бы проанализировать дату в формате mm / dd / yyyy в шаблоне, но кажется, что шаблон объекта java.slq.Date переносится, как yyyy-mm-dd.
Не правильно ли я его анализирую? Илиэто потребует другого класса или пакета, например, java.Time? Я бы подумал, что это сработает, но должен быть какой-то небольшой метод конвертации, который не работает. Итог - я бы действительно предпочел, чтобы jQuery выбирал даты сих форматы mm / dd / yyyy в такте и могут запрашивать эти записи. Любые комментарии по этому поводу приветствуются. Спасибо!