Φιλτράρισμα ημερομηνίας SQL

Philtrarisma Emeromenias Sql



Το φιλτράρισμα των δεδομένων με βάση την τιμή ημερομηνίας είναι σύνηθες φαινόμενο κατά την εργασία με βάσεις δεδομένων. Για παράδειγμα, μπορεί να μας επιτρέψει να ανακτήσουμε τα δεδομένα από ένα συγκεκριμένο χρονικό πλαίσιο, να αθροίσουμε τα αποτελέσματα με βάση μια δεδομένη ημερομηνία, να προσδιορίσουμε τα μοτίβα τάσεων με την πάροδο του χρόνου και άλλες λειτουργίες που σχετίζονται με το χρόνο.

Είναι επομένως μια σημαντική δεξιότητα για κάθε προγραμματιστή βάσης δεδομένων. Η SQL μας παρέχει διάφορα εργαλεία για να φιλτράρουμε τις ημερομηνίες μέσα σε ένα δεδομένο σύνολο δεδομένων.







Ελάτε μαζί μας σε αυτήν την ανάρτηση καθώς εξερευνούμε τις διάφορες μεθόδους και τεχνικές που μπορούμε να χρησιμοποιήσουμε για να φιλτράρουμε τις ημερομηνίες στον κόσμο της SQL.



Προαπαιτούμενα:

Πριν βουτήξουμε στα πρακτικά παραδείγματα και εφαρμογές, επιτρέψτε μας να αναλύσουμε τι χρειάζεστε για αυτό.



Σε αυτήν την ανάρτηση, θα προσπαθήσουμε να ακολουθήσουμε τις μεθόδους που μπορούν να εφαρμοστούν σε όλες σχεδόν τις βάσεις δεδομένων SQL. Ωστόσο, για λόγους επίδειξης, χρησιμοποιούμε την έκδοση 8 της MySQL με το δείγμα βάσης δεδομένων Sakila.





Ωστόσο, είστε ελεύθεροι να κατεβάσετε και να χρησιμοποιήσετε οποιοδήποτε σύνολο δεδομένων επιθυμείτε. Θα φροντίσουμε να επισημάνουμε εάν μια παρεχόμενη μέθοδος μπορεί να λειτουργήσει σε άλλες βάσεις δεδομένων και θα παρέχουμε μια εναλλακτική εάν υπάρχει.

Φιλτράρετε μια συγκεκριμένη ημερομηνία

Η πιο βασική λειτουργία φιλτραρίσματος ημερομηνίας είναι όπου πρέπει να ανακτήσουμε μια εγγραφή ή πολλές εγγραφές για μια συγκεκριμένη ημερομηνία.



Σε μια τέτοια περίπτωση, μπορούμε να χρησιμοποιήσουμε την ρήτρα WHERE ακολουθούμενη από τη στήλη ημερομηνία και την πραγματική τιμή ημερομηνίας που θέλουμε να ανακτήσουμε.

Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να μάθουμε τα αρχεία ενοικίασης που σημειώθηκαν στις 24 Μαΐου 2005. Μπορούμε να εκτελέσουμε ένα ερώτημα ως εξής:

ΕΠΙΛΕΓΩ *
ΑΠΟ ενοικίαση
WHERE ημερομηνία_ενοικίασης = '24-05-2005 23:03:39' ;

Σε αυτήν την περίπτωση, παρέχουμε την ημερομηνία που θέλουμε να φιλτράρουμε ως τιμή χρονικής σφραγίδας. Αυτό συμβαίνει επειδή η στήλη 'ημερομηνία_ενοικίασης' αποθηκεύει τις τιμές ως χρονική σήμανση.

Φιλτράρετε το εύρος ημερομηνιών

Η δεύτερη κοινή λειτουργία είναι το φιλτράρισμα των δεδομένων με βάση ένα συγκεκριμένο εύρος ημερομηνιών. Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να ανακτήσουμε τις ενοικιάσεις που πραγματοποιήθηκαν μεταξύ Μαΐου 2005 και Ιουνίου 2005.

Μπορούμε να εκτελέσουμε το ερώτημα ως εξής:

ΕΠΙΛΕΓΩ
*
ΑΠΟ
ενοικίου
ΟΠΟΥ
ενοικίαση_ημερομηνία ΜΕΣΑ '01-04-2005 00:00:00' ΚΑΙ '01-06-2005 00:00:00' ;

Σε αυτήν την περίπτωση, χρησιμοποιούμε τον τελεστή AND για να ενώσουμε δύο τιμές. Ο όρος WHERE χρησιμοποιείται όπου οποιαδήποτε τιμή από τη στήλη 'ημερομηνία_ενοικίασης' πρέπει να βρίσκεται μεταξύ των δύο περιοχών.

Ένα παράδειγμα εξόδου είναι το εξής:

Φιλτράρετε το στοιχείο ημερομηνίας

Σε άλλες περιπτώσεις, αντί να χρησιμοποιούμε ένα εύρος ημερομηνιών χρησιμοποιώντας τις κυριολεκτικές τιμές, μπορούμε να εξαγάγουμε τα συγκεκριμένα στοιχεία ημερομηνίας από την τιμή και να φιλτράρουμε με βάση αυτήν.

Για παράδειγμα, αντί να προσδιορίσουμε από 2005-04-01 και 2005-06-01, μπορούμε να εξαγάγουμε τον μήνα Μάιο και να φιλτράρουμε τυχόν δεδομένα που βρίσκονται εντός αυτού του μήνα.

Στη MySQL, μπορούμε να χρησιμοποιήσουμε μια συνάρτηση όπως η συνάρτηση MONTH() για να το πετύχουμε αυτό, όπως φαίνεται στο ακόλουθο παράδειγμα:

ΕΠΙΛΕΓΩ
*
ΑΠΟ
ενοικίου
ΟΠΟΥ
ΜΗΝΑΣ ( ενοικίαση_ημερομηνία ) = 5 ;

Σε αυτήν την περίπτωση, το MONTH(rental_date) εξάγει το τμήμα του μήνα από την ημερομηνία. Στη συνέχεια, μπορούμε να χρησιμοποιήσουμε αυτήν την τιμή για να φιλτράρουμε όπου η τιμή είναι ίση με 5, Μάιος.

συμπέρασμα

Σε αυτό το σεμινάριο, μάθαμε για μια από τις πιο θεμελιώδεις και κοινές εργασίες στην SQL, όπου φιλτράρουμε τα δεδομένα με βάση την τιμή ημερομηνίας. Μάθαμε πώς να εξάγουμε τα διάφορα στοιχεία από μια ημερομηνία και να τα χρησιμοποιούμε για να φιλτράρουμε την ημερομηνία και πολλά άλλα.