sql >> Databáze >  >> RDS >> PostgreSQL

předáním parametru Date k vytvoření dotazu na časové období

Použijte HttpServletRequest#getParameter() pro sběr parametrů požadavku. Za předpokladu, že vstupní pole má název date .

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

Použijte SimpleDateFormat#parse() převést na java.util.Date pomocí specifického vzoru v závislosti na tom, jak byl koncový uživatel požádán o zadání data.

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

Předejte to jako argument metody vaší metodě DAO:

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

Musíte jej převést na java.sql.Date , takže můžete použít PreparedStatement#setDate() pro jeho nastavení v dotazu SQL:

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

Můžete použít WHERE date > ? pro vyhledání záznamů novějších než zadané datum nebo WHERE date < ? pro vyhledávání záznamů starších než zadané datum nebo WHERE date BETWEEN ? and ? pro vyhledání záznamů mezi zadanými daty.



  1. Neznámý sloupec v seznamu polí při použití SUM(něco) JAKO a

  2. Jak zaškrtnout nebo nezaškrtnout stav zaškrtávacího políčka založené na hodnotách databáze?

  3. Otevřete kurzor pro název dynamické tabulky v proceduře PL/SQL

  4. Získejte výsledek z dynamického SQL v uložené proceduře