Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

GIỮA truy vấn sử dụng JDBC với MySQL

Trong MySQL, DATE nhập bản đồ vào lớp Java java.sql.Timestamp . Vì vậy, bạn nên làm việc với kiểu này để tạo truy vấn của mình, chứ không phải java.util.Date . Đây là mã tạo ra hai dấu thời gian bạn sẽ cần:

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

Sau đó, sử dụng BETWEEN đầu tiên của bạn truy vấn để nhận được kết quả của bạn:

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

Lưu ý ở đây rằng tôi đang sử dụng PreparedStatement được tham số hóa , điều này tránh (hoặc ít nhất là làm giảm đáng kể) khả năng bị chèn 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. Cài đặt Trình điều khiển JDBC-mysql để xử lý tốt DATETIME và TIMESTAMP trong UTC là gì?

  2. Tìm số lượng cột EMPTY hoặc NULL trong bảng MySQL

  3. Các thuật ngữ truy vấn nhập csv MySQL sau đây có nghĩa là gì?

  4. Có cách nào để truy xuất ID tự động tăng thêm từ một báo cáo đã chuẩn bị không

  5. Cái nào tốt hơn:mysql_connect hoặc mysql_pconnect