PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

подаване на параметър Date за създаване на заявка за диапазон от дати

Използвайте HttpServletRequest#getParameter() за събиране на параметри на заявката. Ако приемем, че полето за въвеждане има име date .

String dateString = request.getParameter("date");

Използвайте SimpleDateFormat#parse() за да го конвертирате в java.util.Date използвайки конкретен модел, в зависимост от това как крайният потребител е бил помолен да въведе датата.

Date date = null;

try {
    date = new SimpleDateFormat("yyyy-MM-dd").parse(dateString);
}
catch (ParseException e) {
    // Show error message to enduser about the wrong format and forward back to the JSP with the form.
    request.setAttribute("error", "Invalid format, please enter yyyy-MM-dd");
    request.getRequestDispatcher("search.jsp").forward(request, response);
    return;
}

Предайте това като аргумент на метода към вашия DAO метод:

List<ParseBean> results = parseDAO.search(date);

Трябва да го конвертирате в java.sql.Date , за да можете да използвате PreparedStatement#setDate() за да го зададете в SQL заявката:

String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));

Можете да използвате WHERE date > ? за търсене на записи, по-нови от дадената дата, или WHERE date < ? за търсене на записи, по-стари от дадената дата, или WHERE date BETWEEN ? and ? за търсене на записи между посочените дати.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възникна грешка при инсталирането на pg (0.17.1) и Bundler не може да продължи

  2. Как да разберете часова зона на клеймо в postgresql 8.3

  3. Heroku и Rails:Грешка при зареждане на Gem с Postgres, но е посочена в GEMFILE

  4. Защо Solr е много по-бърз от Postgres?

  5. Как условно да групирате в колона, без да използвате FULL OUTER JOIN