🧚 Άκου! Το Beekeeper Studio είναι ένα γρήγορο, σύγχρονο και open source GUI για βάσεις δεδομένων Λήψη
19 Φεβρουαρίου 2024 Από τον Matthew Rathbone

Εισαγωγή

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

Κατανοώντας την ημερομηνία και την ώρα στην PostgreSQL

Η PostgreSQL προσφέρει ένα πλήρες σύνολο συναρτήσεων και τελεστών για ημερομηνίες και ώρες, κάνοντας εύκολη την εκτέλεση σύνθετων queries, όπως η επιλογή γραμμών με βάση τις καθημερινές.

Τύποι δεδομένων ημερομηνίας/ώρας

Πριν περάσεις στα queries για καθημερινές, καλό είναι να γνωρίζεις τους βασικούς τύπους δεδομένων ημερομηνίας/ώρας στην PostgreSQL:

  • DATE: Για ημερομηνίες (έτος, μήνας, ημέρα).
  • TIMESTAMP: Για ημερομηνία και ώρα, χωρίς ζώνη ώρας.
  • TIMESTAMPTZ: Για ημερομηνία και ώρα, με ζώνη ώρας.
  • TIME: Μόνο για ώρα, χωρίς ζώνη ώρας.
  • TIMETZ: Μόνο για ώρα, με ζώνη ώρας.

Η συνάρτηση EXTRACT

Μια βασική συνάρτηση για τις καθημερινές είναι η EXTRACT. Σου επιτρέπει να εξάγεις τμήματα μιας τιμής ημερομηνίας/ώρας, όπως την ημέρα της εβδομάδας.

Queries μόνο για καθημερινές

Για να επιλέξεις εγγραφές που πέφτουν σε καθημερινές (Δευτέρα έως Παρασκευή), μπορείς να χρησιμοποιήσεις τη συνάρτηση EXTRACT για να πάρεις την ημέρα της εβδομάδας από μια ημερομηνία, όπου η Κυριακή είναι 0 και το Σάββατο 6.

Βασική επιλογή καθημερινών

Δες πώς μπορείς να φιλτράρεις γραμμές ώστε να περιλαμβάνουν μόνο καθημερινές:

-- Assuming a table 'events' with a 'date' column
SELECT *
FROM events
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5;

Αυτό το query επιλέγει γραμμές από τον πίνακα events όπου η ημέρα της εβδομάδας της στήλης date είναι από 1 (Δευτέρα) έως και 5 (Παρασκευή).

Αποτέλεσμα:

id date event_name
1 2024-03-04 Project Launch
2 2024-03-05 Team Meeting

Σύνθετα σενάρια: Join πινάκων και φιλτράρισμα κατά καθημερινές

Ας δούμε ένα πιο σύνθετο παράδειγμα, όπου χρειάζεται να κάνεις join πινάκων και παράλληλα να φιλτράρεις κατά καθημερινές.

-- Assuming another table 'event_details' that references 'events'
SELECT e.*, ed.detail
FROM events e
JOIN event_details ed ON e.id = ed.event_id
WHERE EXTRACT(DOW FROM e.date) BETWEEN 1 AND 5;

Αυτό το query όχι μόνο φιλτράρει τα events κατά καθημερινές, αλλά κάνει και join με τον πίνακα event_details για να φέρει τα σχετικά δεδομένα.

Αποτέλεσμα:

id date event_name detail
1 2024-03-04 Project Launch Kick-off meeting
2 2024-03-05 Team Meeting Monthly review

Περιπτώσεις χρήσης

Ανάλυση ωρών εργασίας

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

-- Assuming a table 'work_hours' with 'employee_id', 'date', and 'hours_worked'
SELECT employee_id, SUM(hours_worked) AS total_hours
FROM work_hours
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5
GROUP BY employee_id;

Αυτό το query υπολογίζει τις συνολικές ώρες εργασίας κάθε υπαλλήλου τις καθημερινές.

Αποτέλεσμα:

employee_id total_hours
101 40
102 38

Προγραμματισμός εκδηλώσεων

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

-- Finding available event dates during weekdays
SELECT date
FROM events
WHERE EXTRACT(DOW FROM date) BETWEEN 1 AND 5
AND date > CURRENT_DATE
ORDER BY date;

Έτσι εντοπίζεις τις επερχόμενες καθημερινές για να προγραμματίσεις μελλοντικές εκδηλώσεις.

Αποτέλεσμα:

date
2024-03-06
2024-03-07

Συμπέρασμα

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

Εξασκήσου με αυτά τα παραδείγματα, εξερεύνησε την τεκμηρίωση της PostgreSQL για περισσότερες συναρτήσεις ημερομηνίας/ώρας και βγάλε περισσότερα συμπεράσματα από τα δεδομένα σου.

Καλά queries!

Το Beekeeper Studio είναι ένα δωρεάν & open source GUI για βάσεις δεδομένων

Το καλύτερο εργαλείο για SQL queries & επεξεργασία που έχω χρησιμοποιήσει ποτέ. Μου δίνει ό,τι χρειάζομαι για να διαχειρίζομαι τη βάση δεδομένων μου. - ⭐⭐⭐⭐⭐ Mit

Το Beekeeper Studio είναι γρήγορο, εύχρηστο και κατανοητό με την πρώτη ματιά. Υποστηρίζει πάρα πολλές βάσεις δεδομένων και δουλεύει άψογα σε Windows, Mac και Linux.

Η έκδοση του Beekeeper για Linux έχει 100% όλες τις λειτουργίες, χωρίς εκπτώσεις και χωρίς συμβιβασμούς.

Τι λένε οι χρήστες για το Beekeeper Studio

★★★★★
"Το Beekeeper Studio αντικατέστησε πλήρως την παλιά μου ροή εργασίας με SQL. Είναι γρήγορο, εύχρηστο και κάνει τη δουλειά με βάσεις δεδομένων ξανά απολαυστική."
— Alex K., Database Developer
★★★★★
"Έχω δοκιμάσει πολλά GUI για βάσεις δεδομένων, αλλά το Beekeeper βρίσκει την τέλεια ισορροπία ανάμεσα σε δυνατότητες και απλότητα. Απλώς δουλεύει."
— Sarah M., Full Stack Engineer

Έτοιμος να βελτιώσεις τη ροή εργασίας σου με SQL;

download Δωρεάν λήψη