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

Truy vấn MySQL - Bản ghi từ hôm nay đến 30 ngày trước

Bạn cần đăng ký DATE_FORMAT trong SELECT mệnh đề, không phải WHERE mệnh đề:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()

Cũng lưu ý rằng CURDATE() chỉ trả về DATE phần của ngày, vì vậy nếu bạn lưu trữ create_date dưới dạng DATETIME với phần thời gian được lấp đầy, truy vấn này sẽ không chọn các bản ghi của ngày hôm nay.

Trong trường hợp này, bạn sẽ cần sử dụng NOW thay vào đó:

SELECT  DATE_FORMAT(create_date, '%m/%d/%Y')
FROM    mytable
WHERE   create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi khi gửi gói QUERY

  2. Thông báo ClusterControl 1.7.5:Bảo trì và hỗ trợ cụm nâng cao cho PostgreSQL 12 và MongoDB 4.2

  3. Nhập csv vào mysql qua dòng lệnh

  4. Cơ sở dữ liệu mặc định của MySQL

  5. Điều chỉnh hiệu suất truy vấn MySQL