SQL-datumfiltering

Sql Datumfiltering



Het filteren van de gegevens op basis van de datumwaarde komt vaak voor bij het werken met databases. Het kan ons bijvoorbeeld in staat stellen de gegevens uit een specifiek tijdsbestek op te halen, de resultaten samen te voegen op basis van een bepaalde datum, de trendpatronen in de loop van de tijd te identificeren en andere tijdgerelateerde bewerkingen.

Het is daarom een ​​belangrijke vaardigheid voor elke databaseontwikkelaar. SQL biedt ons verschillende hulpmiddelen om de datums binnen een bepaalde dataset te filteren.







Neem deel aan dit bericht terwijl we de verschillende methoden en technieken verkennen die we kunnen gebruiken om de datums in de wereld van SQL te filteren.



Vereisten:

Voordat we ingaan op de praktische voorbeelden en toepassingen, willen we eerst even opsplitsen wat je hiervoor nodig hebt.



In dit bericht zullen we proberen ons te houden aan de methoden die op bijna alle SQL-databases van toepassing kunnen zijn. Voor demonstratiedoeleinden gebruiken we echter MySQL versie 8 met de voorbeelddatabase van Sakila.





U bent echter vrij om elke dataset die u wenst te downloaden en te gebruiken. We zullen er zeker op wijzen of een aangeboden methode in andere databases kan werken en eventueel een alternatief bieden.

Filter een specifieke datum

De meest elementaire datumfilterbewerking is waarbij we een record of meerdere records voor een specifieke datum moeten ophalen.



In een dergelijk geval kunnen we de WHERE-clausule gebruiken, gevolgd door de datumkolom en de werkelijke datumwaarde die we willen ophalen.

Stel dat we bijvoorbeeld de huurrecords willen achterhalen die plaatsvonden op 24 mei 2005. We kunnen als volgt een query uitvoeren:

SELECTEER *
VAN verhuur
WAAR verhuurdatum = '24-05-2005 23:03:39' ;

In dit geval geven we de datum die we willen filteren op als tijdstempelwaarde. Dit komt omdat de kolom ‘huurdatum’ de waarden als tijdstempel opslaat.

Filter het datumbereik

De tweede veel voorkomende bewerking is het filteren van de gegevens op basis van een specifiek datumbereik. Stel dat we bijvoorbeeld de huren willen ophalen die tussen mei 2005 en juni 2005 hebben plaatsgevonden.

We kunnen de query als volgt uitvoeren:

SELECTEER
*
VAN
verhuur
WAAR
huurdatum TUSSEN '2005-04-01 00:00:00' EN '2005-06-01 00:00:00' ;

In dit geval gebruiken we de AND-operator om twee waarden samen te voegen. De WHERE-clausule wordt gebruikt waar elke waarde uit de kolom ‘huurdatum’ tussen de twee bereiken moet liggen.

Een voorbeelduitvoer is als volgt:

Filter de datumcomponent

In andere gevallen kunnen we, in plaats van een datumbereik te gebruiken met behulp van de letterlijke waarden, de specifieke datumcomponenten uit de waarde extraheren en op basis daarvan filteren.

In plaats van bijvoorbeeld 01-04-2005 en 01-06-2005 op te geven, kunnen we de maand mei extraheren en alle gegevens uit die maand filteren.

In MySQL kunnen we een functie zoals de MONTH()-functie gebruiken om dit te bereiken, zoals gedemonstreerd in het volgende voorbeeld:

SELECTEER
*
VAN
verhuur
WAAR
MAAND ( huurdatum ) = 5 ;

In dit geval haalt de MONTH(huurdatum) het maandgedeelte uit de datum. Vervolgens kunnen we deze waarde gebruiken om te filteren waarbij de waarde gelijk is aan 5, mei.

Conclusie

In deze zelfstudie leerden we over een van de meest fundamentele en veel voorkomende taken in SQL, waarbij we de gegevens filteren op basis van de datumwaarde. We hebben geleerd hoe we de verschillende componenten uit een datum kunnen halen en deze kunnen gebruiken om de datum te filteren en meer.