sql >> Database teknologi >  >> RDS >> Mysql

MELLEM forespørgsel ved hjælp af JDBC med MySQL

I MySQL er DATE skriv kort til Java-klassen java.sql.Timestamp . Så du bør arbejde med denne type for at bygge din forespørgsel, og ikke java.util.Date . Her er kode, som genererer de to tidsstempler, du skal bruge:

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());

Brug derefter din første BETWEEN forespørgsel for at få dit resultat:

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

Bemærk her, at jeg bruger en parametriseret PreparedStatement , som undgår (eller i det mindste i høj grad mindsker) muligheden for SQL-injektion.



  1. Skift en eksisterende kolonne til en beregnet kolonne i SQL Server (T-SQL-eksempel)

  2. Hvordan bestemmer jeg den maksimale transaktionsstørrelse i MySQL?

  3. Sådan kører du Opatch i ikke-interaktiv form

  4. alternativ til mysql_field_name i mysqli