Filtrowanie dat SQL

Filtrowanie Dat Sql



Filtrowanie danych na podstawie wartości daty jest częstym zjawiskiem podczas pracy z bazami danych. Może na przykład pozwolić nam na pobranie danych z określonego przedziału czasowego, agregację wyników na podstawie danej daty, identyfikację wzorców trendów w czasie i inne operacje związane z czasem.

Jest to zatem ważna umiejętność każdego programisty baz danych. SQL udostępnia nam różne narzędzia do filtrowania dat w obrębie danego zbioru danych.







Dołącz do nas w tym poście, gdy będziemy odkrywać różne metody i techniki, których możemy użyć do filtrowania dat w świecie SQL.



Warunki wstępne:

Zanim zagłębimy się w praktyczne przykłady i zastosowania, omówmy, czego potrzebujesz do tego.



W tym wpisie postaramy się zastosować metody, które można zastosować w przypadku niemal wszystkich baz danych SQL. Jednakże w celach demonstracyjnych używamy MySQL w wersji 8 z przykładową bazą danych Sakila.





Możesz jednak pobrać i używać dowolnego zbioru danych, jaki chcesz. Z pewnością wskażemy, czy podana metoda może działać w innych bazach danych i jeśli taka istnieje, podamy alternatywę.

Filtruj konkretną datę

Najbardziej podstawowa operacja filtrowania dat polega na tym, że musimy pobrać rekord lub wiele rekordów dla określonej daty.



W takim przypadku możemy użyć klauzuli WHERE, po której następuje kolumna daty i rzeczywista wartość daty, którą chcemy pobrać.

Załóżmy na przykład, że chcemy znaleźć dane dotyczące najmu, które miały miejsce 24 maja 2005 r. Możemy uruchomić zapytanie w następujący sposób:

WYBIERAĆ *
Z wynajmu
GDZIE data_wypożyczenia = '2005-05-24 23:03:39' ;

W tym przypadku podajemy datę, którą chcemy filtrować, jako wartość znacznika czasu. Dzieje się tak, ponieważ kolumna „data_wypożyczenia” przechowuje wartości jako sygnaturę czasową.

Filtruj zakres dat

Drugą popularną operacją jest filtrowanie danych na podstawie określonego zakresu dat. Załóżmy na przykład, że chcemy pobrać wypożyczenia, które miały miejsce w okresie od maja 2005 r. do czerwca 2005 r.

Zapytanie możemy uruchomić w następujący sposób:

WYBIERAĆ
*
Z
wynajem
GDZIE
data_wypożyczenia POMIĘDZY „2005-04-01 00:00:00” I '2005-06-01 00:00:00' ;

W tym przypadku używamy operatora AND, aby połączyć dwie wartości. Klauzula WHERE jest używana, gdy dowolna wartość z kolumny „data_wypożyczenia” musi znajdować się pomiędzy obydwoma zakresami.

Przykładowe dane wyjściowe są następujące:

Przefiltruj komponent daty

W innych przypadkach zamiast używać zakresu dat przy użyciu wartości literału, możemy wyodrębnić określone składniki daty z wartości i na tej podstawie przefiltrować.

Na przykład zamiast podawać daty 2005-04-01 i 2005-06-01, możemy wyodrębnić miesiąc maj i przefiltrować wszystkie dane znajdujące się w tym miesiącu.

W MySQL możemy użyć funkcji takiej jak MIESIĄC(), aby to osiągnąć, jak pokazano w poniższym przykładzie:

WYBIERAĆ
*
Z
wynajem
GDZIE
MIESIĄC ( data_wypożyczenia ) = 5 ;

W tym przypadku MIESIĄC(data_wynajmu) wyodrębnia część miesiąca z daty. Następnie możemy użyć tej wartości do filtrowania, gdzie wartość jest równa 5, maj.

Wniosek

W tym samouczku poznaliśmy jedno z najbardziej podstawowych i typowych zadań w SQL, polegające na filtrowaniu danych na podstawie wartości daty. Dowiedzieliśmy się, jak wyodrębnić różne elementy z daty i używać ich do filtrowania daty i nie tylko.