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

Ngày giữa 2 ngày khác, không kể năm

Bạn cần phân biệt hai trường hợp.

  1. Khi first < last , các ngày trong cùng một năm. Sau đó, bạn có thể sử dụng between để khớp với ngày.

  2. Khi first > last , nó có nghĩa là last là trong năm tới. Trong trường hợp này, các ngày phù hợp là date >= first OR date <= last .

Vì vậy, mệnh đề WHERE của bạn phải là:

WHERE IF(first < last, @date BETWEEN first AND last,
                       @date >= first OR date <= last)



  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ưu trữ mật khẩu an toàn cho api mà không cần mã hóa nó

  2. Không thể kết nối với MySQL 4.1+ bằng xác thực cũ

  3. Chạy SQL thô khi di chuyển

  4. MySQL - Đệ quy cấu trúc cây

  5. SQL_NO_CACHE không hoạt động