Tôi sẽ giải thích cho bạn ví dụ về cách chọn dữ liệu giữa hai ngày trong MySQL?. Bạn sẽ học chọn dữ liệu giữa hai ngày trong MySQL. Tôi muốn tìm dữ liệu giữa hai ngày trong MySQL. Bài viết này sẽ cung cấp cho bạn ví dụ đơn giản về lấy bản ghi giữa hai ngày trong truy vấn SQL
Bây giờ, hãy xem bài viết về truy vấn mysql chọn dữ liệu giữa hai ngày trong Ví dụ mã mysql. Chúng tôi sẽ sử dụng ví dụ về nhận bản ghi này cho dữ liệu hai ngày
Toán tử BETWEEN
chọn các giá trị trong một phạm vi nhất định. Các giá trị có thể là số, văn bản hoặc ngày tháng
Toán tử BETWEEN
bao hàm. giá trị bắt đầu và kết thúc được bao gồm.
Cú pháp GIỮA
CHỌN[các] tên_cột
TỪ_tên_bảng
Ở ĐÂU tên_cột GIỮA value1 VÀ value2;
Cơ sở dữ liệu demo
Dưới đây là một lựa chọn từ bảng "Sản phẩm" trong cơ sở dữ liệu mẫu của Northwind
Sản phẩmIDSản phẩmTênNhà cung cấpIDDanh mụcIDUnitGiá1Chais1110 hộp x 20 túi182Chang1124 - chai 12 oz193Aniseed Syrup1212 - chai 550 ml104Gia vị Chef Anton's Cajun1248 - lọ 6 oz225Chef Anton's Gumbo Mix1236 hộp21. 35
GIỮA Ví dụ
Câu lệnh SQL sau đây chọn tất cả các sản phẩm có giá từ 10 đến 20
KHÔNG GIỮA Ví dụ
Để hiển thị các sản phẩm nằm ngoài phạm vi của ví dụ trước, hãy sử dụng NOT BETWEEN
GIỮA với IN Ví dụ
Câu lệnh SQL sau đây chọn tất cả các sản phẩm có giá từ 10 đến 20. Thêm vao Đoa;
Thí dụ
CHỌN * TỪ Sản phẩm
Ở ĐÂU Giá GIỮA 10 VÀ 20
VÀ ID danh mục KHÔNG CÓ TRONG [1,2,3];
GIỮA Giá trị văn bản Ví dụ
Câu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName nằm giữa Carnarvon Tigers và Mozzarella di Giovanni
Thí dụ
CHỌN * TỪ SẢN PHẨM
Ở ĐÂU Tên sản phẩm GIỮA 'Carnarvon Tigers' VÀ 'Mozzarella di Giovanni'
ĐẶT HÀNG THEO Tên sản phẩm;
Câu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName nằm giữa Carnarvon Tigers và Chef Anton's Cajun Seasoning
Thí dụ
CHỌN * TỪ SẢN PHẨM
Ở ĐÂU Tên sản phẩm GIỮA "Carnarvon Tigers" VÀ "Gia vị Cajun của Chef Anton"
ĐẶT HÀNG THEO Tên sản phẩm;
KHÔNG GIỮA Giá trị văn bản Ví dụ
Câu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName không nằm giữa Carnarvon Tigers và Mozzarella di Giovanni
Thí dụ
CHỌN * TỪ SẢN PHẨM
Ở ĐÂU Tên sản phẩm KHÔNG GIỮA 'Carnarvon Tigers' VÀ 'Mozzarella di Giovanni'
ĐẶT HÀNG THEO Tên sản phẩm;
Bảng mẫu
Dưới đây là một lựa chọn từ bảng "Đơn hàng" trong cơ sở dữ liệu mẫu của Northwind
OrderIDCustomerIDEemployeeIDOrderDateShipperID102489057/4/19963102498167/5/19961102503447/8/19962102518437/9/19961102527647/10/19962
GIỮA NGÀY Ví dụ
Câu lệnh SQL sau đây chọn tất cả các đơn đặt hàng có OrderDate trong khoảng từ '01- July-1996' đến '31- July-1996'
Thí dụ
CHỌN * TỪ ĐƠN HÀNG
WHERE OrderDate GIỮA #07/01/1996# VÀ #07/31/1996#;
HOẶC LÀ
Thí dụ
CHỌN * TỪ ĐƠN HÀNG
WHERE OrderDate GIỮA '1996-07-01' AND '1996-07-31';
Kiểm tra bản thân với các bài tập
Bài tập
Sử dụng toán tử BETWEEN
để chọn tất cả các bản ghi có giá trị của cột Price
nằm trong khoảng từ 10 đến 20
Điều kiện GIỮA MySQL được sử dụng để truy xuất các giá trị trong một phạm vi trong câu lệnh CHỌN, CHÈN, CẬP NHẬT hoặc XÓA
cú pháp
Cú pháp của Điều kiện GIỮA trong MySQL là
expression BETWEEN value1 AND value2;
Tham số hoặc Đối số
cột biểu thức hoặc phép tính. value1 và value2Những giá trị này tạo ra một phạm vi bao hàm mà biểu thức được so sánh vớiGhi chú
- Điều kiện GIỮA MySQL sẽ trả về các bản ghi có biểu thức nằm trong phạm vi giá trị 1 và giá trị 2 [bao gồm]
- Khi sử dụng Điều kiện GIỮA MySQL với ngày tháng, hãy đảm bảo sử dụng hàm CAST để chuyển đổi rõ ràng các giá trị thành ngày tháng
Ví dụ - Với số
Hãy xem xét một số ví dụ về điều kiện GIỮA MySQL bằng cách sử dụng các giá trị số. Ví dụ số sau đây sử dụng điều kiện GIỮA để truy xuất các giá trị trong một phạm vi số
Ví dụ
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;
Ví dụ MySQL GIỮA này sẽ trả về tất cả các hàng từ bảng nhà cung cấp trong đó nhà cung cấp KHÔNG nằm trong khoảng từ năm 2000 đến 2999, bao gồm cả. Nó sẽ tương đương với câu lệnh SELECT sau
Trong bảng travel
, có ba cột. id
,
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;0 và
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;1. Bạn muốn tính tổng chênh lệch giữa
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;1 và
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;0 hoặc tính cả số ngày từ ngày
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;1 đến khi khởi hành
Bảng travel
trông như thế này
Giải pháp
SELECT id, departure, arrival, DATEDIFF[arrival, departure] AS date_difference, DATEDIFF[arrival, departure] + 1 AS days_inclusive FROM travel;
Kết quả là
iddeparturearrivaldate_differencedays_inclusive12018-03-252018-04-05111222019-09-122019-09-23111232018-07-142018-07-140142018-01-052018-01-0834Thảo luận
Để đếm sự khác biệt giữa các ngày trong MySQL, hãy sử dụng hàm
SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;6. Sự khác biệt giữa
travel
0 và travel
1 được biểu thị bằng ngày. Trong trường hợp này, travel
1 là SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;1 và
travel
0 là SELECT * FROM contacts WHERE contact_id BETWEEN 100 AND 200;0
Tuy nhiên, trong hầu hết các trường hợp, điều bạn thực sự muốn là tổng số ngày kể từ ngày đầu tiên đến ngày thứ hai. Bạn cần thêm 1 ngày vào sự khác biệt. travel
6