PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

melewati parameter Tanggal untuk membuat kueri rentang tanggal

Gunakan HttpServletRequest#getParameter() untuk mengumpulkan parameter permintaan. Dengan asumsi bahwa bidang input memiliki nama date .

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

Gunakan SimpleDateFormat#parse() untuk mengubahnya menjadi java.util.Date menggunakan pola tertentu, tergantung pada bagaimana pengguna akhir diminta untuk memasukkan tanggal.

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;
}

Teruskan ini sebagai argumen metode ke metode DAO Anda:

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

Anda perlu mengonversinya menjadi java.sql.Date , sehingga Anda dapat menggunakan PreparedStatement#setDate() untuk mengaturnya pada kueri SQL:

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

Anda dapat menggunakan WHERE date > ? untuk mencari catatan yang lebih baru dari tanggal yang diberikan, atau WHERE date < ? untuk mencari catatan yang lebih tua dari tanggal yang diberikan, atau WHERE date BETWEEN ? and ? untuk mencari catatan di antara tanggal yang ditentukan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dua SQL LEFT JOINS menghasilkan hasil yang salah

  2. Rails Postgresql beberapa skema dan nama tabel yang sama

  3. Apa cara paling elegan untuk menyimpan cap waktu dengan nanosec di postgresql?

  4. Bagaimana saya bisa mengembalikan '0' dari kueri di pgsql, jika barisnya tidak ada?

  5. Menggunakan kolom yang sama beberapa kali dalam klausa WHERE