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

làm cách nào để lấy tháng kể từ ngày trong mysql

Bạn đã kết thúc - có so sánh ngược lại (giả sử startDate là kiểu dữ liệu DATETIME hoặc TIMESTAMP):

SELECT * 
  FROM table 
 WHERE amount > 1000 
   AND MONTH(dateStart) = {$m}

Lưu ý:

  • Lưu ý rằng bạn đang sử dụng mysql_escape_string hoặc bạn có nguy cơ bị tấn công chèn SQL .
  • Lệnh gọi hàm trên các cột có nghĩa là một chỉ mục, nếu tồn tại, sẽ không thể được sử dụng

Lựa chọn thay thế:

Bởi vì việc sử dụng các hàm trên các cột không thể sử dụng các chỉ mục, một cách tiếp cận tốt hơn sẽ là sử dụng BETWEENSTR_TO_DATE chức năng:

WHERE startdate BETWEEN STR_TO_DATE([start_date], [format]) 
                    AND STR_TO_DATE([end_date], [format])

Xem tài liệu để biết cú pháp định dạng.

Tham khảo:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gặp lỗi 1366 Giá trị số nguyên không chính xác:'1' khi nhập tệp

  2. Truy vấn CakePHP kinh độ vĩ độ gần nhất từ ​​cơ sở dữ liệu

  3. Đặt giá trị thành NULL trong MySQL

  4. Khi nào sử dụng TEXT trong mysql thay vì VARCHAR

  5. symfony 1.4 propel:build-all không hoạt động trên Mysql 5.5