sql >> Databáze >  >> RDS >> Mysql

BETWEEN dotaz pomocí JDBC s MySQL

V MySQL, DATE zadejte mapy do třídy Java java.sql.Timestamp . Při sestavování dotazu byste tedy měli pracovat s tímto typem, nikoli s java.util.Date . Zde je kód, který generuje dvě časová razítka, která budete potřebovat:

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date startDate = formatter.parse(startDate);
java.util.Date endDate   = formatter.parse(endDate);

java.sql.Timestamp start = new Timestamp(startDate.getTime());
java.sql.Timestamp end   = new Timestamp(endDate.getTime());

Pak použijte svůj první BETWEEN dotaz k získání výsledku:

PreparedStatement ps = con.prepareStatement("SELECT * FROM project.order
                                             WHERE PO_Date BETWEEN ? AND ?");
ps.setTimestamp(1, start);
ps.setTimestamp(2, end)

Všimněte si, že používám parametrizovaný PreparedStatement , což zamezuje (nebo alespoň výrazně snižuje) možnost vkládání SQL.



  1. Jak mohu získat počet záznamů ovlivněných uloženou procedurou?

  2. Nasazení certifikátu pro šifrované připojení SQL Server

  3. Používají různé databáze různé uvozovky?

  4. Plánování kapacit pomocí údajů o výkonu