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

truy vấn mySQL giữa hai ngày và hai lần

Không chắc liệu trường ngày của bạn có được lập chỉ mục hay không. Nếu chúng là những ví dụ "concat" mà những người khác đã đưa ra có thể không hoạt động tốt lắm.

Thay vào đó, bạn có thể sử dụng truy vấn có dạng:

select * 
  from foo 
 where (date > lower_date and date < upper_date) -- technically this clause isn't needed if they are a day apart
    or (date = lower_date and time >= lower_time)
    or (date = upper_date and time <= upper_time)

Nó không đẹp nhưng nó hoạt động và sẽ cho phép mysql sử dụng các chỉ mục trên trường ngày nếu chúng tồn tại.

Vì vậy, truy vấn của bạn sẽ là

SELECT time,
       close 
  FROM intraday_values 
 where (date > "2005-03-01" and date < "2005-03-02")
    or (date = "2005-03-01" and time >= "15:30")
    or (date = "2005-03-02" and time <= "15:14")


  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 - tìm một bảng trong tất cả cơ sở dữ liệu

  2. Lỗi cú pháp MySQL khi sử dụng lệnh LIMIT với Câu lệnh chuẩn bị trong Java

  3. Làm cách nào để nhận số hàng bị ảnh hưởng với SQL Alchemy?

  4. Với MySQL, làm cách nào để tạo cột chứa chỉ mục bản ghi trong bảng?

  5. cách xuất bản trình cài đặt ứng dụng c # window