Lọc ngày SQL

Loc Ngay Sql



Lọc dữ liệu dựa trên giá trị ngày là điều thường xảy ra khi làm việc với cơ sở dữ liệu. Ví dụ: nó có thể cho phép chúng tôi tìm nạp dữ liệu từ một khung thời gian cụ thể, tổng hợp kết quả dựa trên một ngày nhất định, xác định các mẫu xu hướng theo thời gian và các hoạt động khác liên quan đến thời gian.

Do đó, đây là một kỹ năng quan trọng đối với bất kỳ nhà phát triển cơ sở dữ liệu nào. SQL cung cấp cho chúng ta nhiều công cụ khác nhau để lọc ngày trong một tập dữ liệu nhất định.







Hãy tham gia cùng chúng tôi trong bài đăng này khi chúng tôi khám phá các phương pháp và kỹ thuật khác nhau mà chúng tôi có thể sử dụng để lọc ngày trong thế giới SQL.



Điều kiện tiên quyết:

Trước khi đi sâu vào các ví dụ và ứng dụng thực tế, chúng ta hãy chia nhỏ những gì bạn cần cho ứng dụng này.



Trong bài đăng này, chúng tôi sẽ cố gắng tuân thủ các phương pháp có thể áp dụng cho hầu hết các cơ sở dữ liệu SQL. Tuy nhiên, với mục đích trình diễn, chúng tôi sử dụng MySQL phiên bản 8 với cơ sở dữ liệu mẫu Sakila.





Tuy nhiên, bạn có thể tự do tải xuống và sử dụng bất kỳ tập dữ liệu nào bạn muốn. Chúng tôi chắc chắn sẽ chỉ ra liệu một phương pháp được cung cấp có thể hoạt động trong các cơ sở dữ liệu khác hay không và cung cấp phương pháp thay thế nếu có.

Lọc một ngày cụ thể

Hoạt động lọc ngày cơ bản nhất là nơi chúng ta cần truy xuất một bản ghi hoặc nhiều bản ghi cho một ngày cụ thể.



Trong trường hợp như vậy, chúng ta có thể sử dụng mệnh đề WHERE theo sau là cột ngày và giá trị ngày thực tế mà chúng ta muốn truy xuất.

Ví dụ: giả sử chúng ta muốn tìm hiểu các bản ghi tiền thuê xảy ra vào ngày 24 tháng 5 năm 2005. Chúng ta có thể chạy truy vấn như sau:

LỰA CHỌN *
TỪ thuê
Ở ĐÂU ngày thuê_= '24-05-2005 23:03:39' ;

Trong trường hợp này, chúng tôi cung cấp ngày mà chúng tôi muốn lọc dưới dạng giá trị dấu thời gian. Điều này là do cột “rental_date” lưu trữ các giá trị dưới dạng dấu thời gian.

Lọc phạm vi ngày

Hoạt động phổ biến thứ hai là lọc dữ liệu dựa trên phạm vi ngày cụ thể. Ví dụ: giả sử chúng ta muốn truy xuất các khoản tiền thuê xảy ra trong khoảng thời gian từ tháng 5 năm 2005 đến tháng 6 năm 2005.

Chúng ta có thể chạy truy vấn như sau:

LỰA CHỌN
*
TỪ
cho thuê
Ở ĐÂU
ngày thuê_giữa '2005-04-01 00:00:00' '2005-06-01 00:00:00' ;

Trong trường hợp này, chúng ta sử dụng toán tử AND để nối hai giá trị. Mệnh đề WHERE được sử dụng khi bất kỳ giá trị nào từ cột “rental_date” phải nằm giữa hai phạm vi.

Một đầu ra ví dụ như sau:

Lọc thành phần ngày

Trong các trường hợp khác, thay vì sử dụng phạm vi ngày bằng các giá trị bằng chữ, chúng ta có thể trích xuất các thành phần ngày cụ thể từ giá trị và lọc dựa trên đó.

Ví dụ: thay vì chỉ định từ 2005-04-01 và 2005-06-01, chúng tôi có thể trích xuất tháng 5 và lọc bất kỳ dữ liệu nào trong tháng đó.

Trong MySQL, chúng ta có thể sử dụng một hàm như hàm MONTH() để đạt được điều này như được minh họa trong ví dụ sau:

LỰA CHỌN
*
TỪ
cho thuê
Ở ĐÂU
THÁNG ( ngày thuê ) = 5 ;

Trong trường hợp này, MONTH(rental_date) trích xuất phần tháng kể từ ngày. Sau đó, chúng ta có thể sử dụng giá trị này để lọc trong đó giá trị bằng 5, May.

Phần kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu về một trong những tác vụ cơ bản và phổ biến nhất trong SQL, đó là chúng ta lọc dữ liệu dựa trên giá trị ngày. Chúng tôi đã học cách trích xuất các thành phần khác nhau từ một ngày và sử dụng nó để lọc ngày, v.v.