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

МЕЖДУ заявка, използваща JDBC с MySQL

В MySQL, DATE тип съпоставя с Java класа java.sql.Timestamp . Така че трябва да работите с този тип, за да изградите заявката си, а не с java.util.Date . Ето код, който генерира двете времеви марки, които ще ви трябват:

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

След това използвайте първия си BETWEEN запитване, за да получите резултата си:

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

Забележете тук, че използвам параметризиран PreparedStatement , което избягва (или поне значително намалява) възможността за SQL инжекция.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Автоматичното увеличение на mysql ID не започва от 0

  2. Клауза INNER JOIN ON срещу WHERE

  3. Как да разположите Chamilo MySQL база данни за висока наличност

  4. Как да промените колона и да промените стойността по подразбиране?

  5. MySql Тригери за изтриване на дъщерни записи в същата таблица