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

MySQL - chọn dữ liệu từ cơ sở dữ liệu giữa hai ngày

Vấn đề của bạn là phiên bản ngày ngắn sử dụng nửa đêm làm mặc định. Vì vậy, truy vấn của bạn thực sự là:

SELECT users.* FROM users 
WHERE created_at >= '2011-12-01 00:00:00' 
AND created_at <= '2011-12-06 00:00:00'

Đây là lý do tại sao bạn không thấy bản ghi cho 10:45.

Thay đổi nó thành:

SELECT users.* FROM users 
WHERE created_at >= '2011-12-01' 
AND created_at <= '2011-12-07'

Bạn cũng có thể sử dụng:

SELECT users.* from users 
WHERE created_at >= '2011-12-01' 
AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)

Điều này sẽ chọn tất cả người dùng trong cùng khoảng thời gian mà bạn đang tìm kiếm.

Bạn cũng có thể thấy toán tử BETWEEN dễ đọc hơn:

SELECT users.* from users 
WHERE created_at BETWEEN('2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề so sánh dấu phẩy động MySQL

  2. cách xóa các hàng trùng lặp khỏi một bảng trong mysql

  3. Làm thế nào để điền vào các lỗ hổng trong các trường tự động tăng dần?

  4. Bạn có thể truy cập giá trị tăng tự động trong MySQL trong một câu lệnh không?

  5. Độ dài tối đa của dữ liệu tôi có thể đặt trong cột BLOB trong MySQL là bao nhiêu?