Lọc bản ghi giữa hai lần PHP MySQL

Cơ sở dữ liệu của chúng tôi có một bảng tên là food với dữ liệu trong các cột id, name, purchase_dateexpiration_date

idnamepurchase_dateexpiration_date1bread2019-07-202019-08-222bơ2018-07-302019-08-103sữa2019-01-122019-01-134sữa chua2019-02-252019-02-24

Đối với mỗi sản phẩm thực phẩm, hãy lấy tên của sản phẩm và số ngày giữa ngày hết hạn và ngày mua

Giải pháp

Chúng ta sẽ sử dụng hàm DATEDIFF(). Đây là truy vấn bạn sẽ viết

SELECT
  name,
  DATEDIFF(expiration_date, purchase_date) AS days
FROM food;

Đây là kết quả của truy vấn

tên bánh mì ngày33bơ376sữa1sữa chua-1

Thảo luận

Sử dụng hàm DATEDIFF() để lấy số ngày giữa hai ngày trong cơ sở dữ liệu MySQL. Hàm này nhận hai đối số

  1. ngày kết thúc. (Trong ví dụ của chúng tôi, đó là cột expiration_date. )
  2. Ngày bắt đầu. (Trong ví dụ của chúng tôi, đó là cột purchase_date. )

Các đối số này có thể là giá trị ngày/ngày giờ, biểu thức trả về giá trị ngày/ngày giờ hoặc cột của kiểu dữ liệu ngày giờ hoặc ngày tháng

Hàm này trừ ngày bắt đầu từ ngày kết thúc và trả về số ngày dưới dạng số nguyên. Trong ví dụ của chúng tôi, bơ đã được mua vào '2018-07-30', nhưng ngày hết hạn của nó là '2019-08-10'; . Lưu ý rằng sữa chua đã được mua như một sản phẩm lỗi thời. chênh lệch số ngày là -1 và ngày mua của nó muộn hơn ngày hết hạn

Các câu hỏi rất thường gặp, cách chọn dữ liệu giữa hai ngày trong MySQL hoặc PHP. Có thể có nhiều cách để làm điều này, nhưng chúng ta sẽ thấy một số cách dễ dàng và tốt. Chung tôi hy vọng bạn thich no. Vì vậy, bạn đã sẵn sàng để làm điều đó?

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

01 Sử dụng BETWEEN…. VÀ…. Toán tử so sánh

Như tên gợi ý, Nó được sử dụng để kiểm tra xem một giá trị có nằm trong một phạm vi hay không

cú pháp

`your_column_name` BETWEEN 'start-value' AND 'end-value'

Ví dụ về cú pháp

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date

Xin lưu ý rằng toán tử so sánh trả về các bản ghi bao gồm cả giá trị đầu và cuối

Hãy cùng xem một số ví dụ thực tế về BETWEEN…AND…. toán tử so sánh

Tên bảng. gọi món

Giả sử rằng bạn có bảng đơn hàng sau trong cơ sở dữ liệu của mình và bạn muốn tìm nạp các bản ghi trong khoảng thời gian từ ‘2020-04-15’ đến ‘2020-04-30’

ID         | user_id| qty | order_date |
-----------+---------+-----+------------+
1          | 5      | 7   | 2020-04-06 |
2          | 7      | 14  | 2020-04-17 |
3          | 8      | 1   | 2020-04-20 |
4          | 100    | 5   | 2020-04-25 |
5          | 101    | 7   | 2020-04-30 |
6          | 17     | 8   | 2020-04-15 |
7          | 25     | 2   | 2020-05-25 |
8          | 24     | 1   | 2020-05-15 |
9          | 10     | 10  | 2020-05-28 |

Vì vậy, truy vấn sẽ giống như dưới đây

SELECT * FROM `order` WHERE `order_date` BETWEEN '2020-04-15' AND '2020-04-30'

đầu ra

ID         | user_id| qty | order_date |
-----------+---------+-----+------------+
2          | 7      | 14  | 2020-04-17 |
3          | 8      | 1   | 2020-04-20 |
4          | 100    | 5   | 2020-04-25 |
5          | 101    | 7   | 2020-04-30 |

02 Sử dụng > AND < Toán tử so sánh

Bạn cũng có thể sử dụng toán tử so sánh & để tìm nạp bản ghi giữa hai ngày

cú pháp

`column-name` >= 'start-value' AND `column-name` <= 'end-value'

Vì vậy, truy vấn của bạn sẽ giống như bên dưới cho cùng một bảng thứ tự được đề cập ở trên

SELECT * FROM `order` WHERE `order_date` >= '2020-04-15' AND `order_date` <= '2020-04-30'

ví dụ

Tại đây, chúng tôi sẽ hiển thị cho bạn các ví dụ khác nhau về phạm vi ngày như chọn bản ghi giữa hai năm, tháng, v.v. Hãy xem nó

01 Chọn bản ghi giữa hai năm

Để chọn các bản ghi giữa hai năm, chúng ta cần trích xuất năm từ ngày để trong trường hợp như vậy, hàm sẽ được sử dụng. Bạn chỉ cần đặt ngày hoặc cột của mình bên trong hàm YEAR()

Giả sử bạn muốn tìm nạp tất cả các bản ghi trong khoảng thời gian từ 2019 đến 2020, vì vậy truy vấn của nó sẽ giống như bên dưới

________số 8_______

02 Chọn bản ghi giữa hai tháng

Để chọn các bản ghi giữa hai tháng, chúng ta cần trích xuất tháng từ ngày để trong trường hợp này, chức năng sẽ được sử dụng. Bạn chỉ cần đặt ngày hoặc cột của mình bên trong hàm MONTH()

Giả sử bạn muốn tìm nạp tất cả các bản ghi của THÁNG 5 & THÁNG 6 để truy vấn của nó sẽ giống như bên dưới

SELECT * FROM `order` WHERE MONTH(order_date) BETWEEN '05' AND '06'

03 Chọn tất cả bản ghi trong khoảng thời gian từ hai tháng của năm cụ thể

SELECT * FROM `order` WHERE MONTH(order_date) BETWEEN '05' AND '06' AND YEAR(order_date) = '2020'

04 Chọn tất cả bản ghi của tháng cụ thể

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date
0

05 Chọn tất cả bản ghi của tháng hiện tại

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date
1

06 Chọn tất cả bản ghi của năm cụ thể

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date
2

07 Chọn Tất cả Bản ghi của Năm Hiện tại

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date
3

08 Chọn tất cả bản ghi của tháng cụ thể và năm cụ thể

`order_date` BETWEEN '2020-04-05' AND '2020-04-10' // Retrun data including 05-04-2020 to 10-04-2020

`order_date` BETWEEN '2020-04-05' AND CURDATE() // Retrun data including 05-04-2020 to Current Date
4

Đó là nó cho bây giờ. Chúng tôi hy vọng bài viết này đã giúp bạn chọn dữ liệu giữa hai ngày trong MySQL

Ngoài ra, hãy đọc hướng dẫn của chúng tôi

  1. Lỗi sau khi cấu hình thủ công php. bộ đệm trong Laravel
  2. Khóa được chỉ định là lỗi quá dài trong Laravel
  3. Yêu cầu bài đăng AJAX PHP với ví dụ
  4. Cách sử dụng Laravel Soft Delete
  5. Làm thế nào để thêm phân trang Laravel Next Prev
  6. lỗi cURL 60. Sự cố chứng chỉ SSL. không thể lấy chứng chỉ nhà phát hành địa phương
  7. Sự khác biệt giữa Factory và Seeder trong Laravel
  8. ấu trùng. Tăng Số Lượng Nếu Sản Phẩm Đã Có Trong Giỏ Hàng
  9. Cách Tính Tuổi Từ Ngày Sinh
  10. Cách chuyển đổi Base64 thành hình ảnh trong PHP
  11. Kiểm tra nếu một chuỗi chứa một từ cụ thể trong PHP
  12. Tự động điền vào các lựa chọn của trường được chọn trong ACF
  13. Cách tìm bản ghi trùng lặp trong cơ sở dữ liệu

Vui lòng cho chúng tôi biết trong phần nhận xét nếu mọi thứ hoạt động như mong đợi, các vấn đề của bạn hoặc bất kỳ câu hỏi nào. Nếu bạn nghĩ rằng bài viết này đã tiết kiệm thời gian và tiền bạc của bạn, vui lòng bình luận, chia sẻ, thích và đăng ký. Cảm ơn bạn trước 🙂 Giữ nụ cười. mã hóa hạnh phúc

Làm cách nào tôi có thể nhận bản ghi giữa hai ngày trong MySQL?

Sử dụng hàm DATEDIFF() để truy xuất số ngày giữa hai ngày trong cơ sở dữ liệu MySQL. Hàm này nhận hai đối số. ngày kết thúc. (Trong ví dụ của chúng tôi, đó là cột ngày hết hạn. )

Làm cách nào để lọc dữ liệu trong PHP MySQL?

Lọc bản ghi. Mệnh đề WHERE được sử dụng để chỉ trích xuất những bản ghi đáp ứng một điều kiện cụ thể. Hãy tạo một truy vấn SQL bằng cách sử dụng mệnh đề WHERE trong câu lệnh SELECT, sau đó chúng ta sẽ thực hiện truy vấn này bằng cách chuyển nó tới hàm mysqli_query() của PHP để lấy dữ liệu đã lọc.

Làm cách nào để lấy dữ liệu giữa hai ngày trong PHP?

hàm php displayDates($date1, $date2, $format = 'd-m-Y' ) { $dates = array();

Làm cách nào để lọc các bản ghi cơ sở dữ liệu bằng cách sử dụng trình đơn thả xuống bằng PHP?

Bộ lọc thả xuống nhiều lựa chọn trong PHP với Tìm kiếm cơ sở dữ liệu .
tập lệnh cơ sở dữ liệu. Tập lệnh sau được sử dụng để tạo cấu trúc cơ sở dữ liệu và kết xuất dữ liệu cần thiết cho ví dụ này. .
Bộ lọc tìm kiếm HTML với danh sách thả xuống Đa lựa chọn. .
MySQL SELECT Query để lọc kết quả cơ sở dữ liệu dựa trên các quốc gia được chọn