🧚 Dengar! Beekeeper Studio adalah GUI database yang cepat, modern, dan open source Unduh
19 Februari 2024 Oleh Matthew Rathbone

Pendahuluan

Saat bekerja dengan database SQL, termasuk PostgreSQL, memanipulasi dan melakukan query data tanggal dan waktu adalah keterampilan dasar. Sering kali, aplikasi membutuhkan analisis atau laporan yang berfokus pada hari kerja, tanpa akhir pekan. Tutorial ini akan membahas cara memilih record berdasarkan hari kerja saja, dengan memanfaatkan fungsi tanggal dan waktu di PostgreSQL.

Memahami Tanggal dan Waktu di PostgreSQL

PostgreSQL menyediakan beragam fungsi dan operator untuk bekerja dengan tanggal dan waktu, sehingga query yang kompleks, seperti memilih baris berdasarkan hari kerja, jadi mudah dilakukan.

Tipe Data Tanggal/Waktu

Sebelum membahas query hari kerja, ada baiknya Anda memahami tipe data tanggal/waktu utama di PostgreSQL:

  • DATE: Untuk tanggal (tahun, bulan, hari).
  • TIMESTAMP: Untuk tanggal dan waktu, tanpa zona waktu.
  • TIMESTAMPTZ: Untuk tanggal dan waktu, dengan zona waktu.
  • TIME: Untuk waktu saja, tanpa zona waktu.
  • TIMETZ: Untuk waktu saja, dengan zona waktu.

Fungsi EXTRACT

Salah satu fungsi penting untuk bekerja dengan hari kerja adalah EXTRACT. Fungsi ini memungkinkan Anda mengambil bagian dari nilai tanggal/waktu, seperti hari dalam minggu.

Query Hari Kerja Saja

Untuk memilih record yang jatuh pada hari kerja (Senin sampai Jumat), Anda dapat menggunakan fungsi EXTRACT untuk mendapatkan hari dalam minggu dari sebuah tanggal, dengan Minggu bernilai 0 dan Sabtu bernilai 6.

Pemilihan Hari Kerja Dasar

Berikut cara memfilter baris agar hanya mencakup hari kerja:

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

Query ini memilih baris dari tabel events yang hari dalam minggu pada kolom date-nya berada di antara 1 (Senin) dan 5 (Jumat), inklusif.

Output:

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

Skenario Kompleks: Join Tabel dan Filter Berdasarkan Hari Kerja

Mari kita lihat contoh yang lebih kompleks, di mana Anda perlu melakukan join tabel sambil tetap memfilter berdasarkan hari kerja.

-- 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 ini tidak hanya memfilter event berdasarkan hari kerja, tetapi juga melakukan join dengan tabel event_details untuk mengambil data terkait.

Output:

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

Contoh Penggunaan

Menganalisis Jam Kerja

Bagi bisnis yang mencatat jam kerja, menyaring akhir pekan dapat memberikan wawasan tentang produktivitas dan biaya tenaga kerja.

-- 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 ini menghitung total jam kerja setiap karyawan selama hari kerja.

Output:

employee_id total_hours
101 40
102 38

Perencanaan Acara

Bagi perencana acara, berfokus pada hari kerja dapat membantu mengatur dan menjadwalkan acara dengan lebih efisien.

-- 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;

Ini membantu mengidentifikasi tanggal hari kerja mendatang untuk merencanakan acara ke depan.

Output:

date
2024-03-06
2024-03-07

Kesimpulan

Memilih record berdasarkan hari kerja di PostgreSQL adalah teknik yang berguna untuk analisis data dan logika aplikasi. Dengan memanfaatkan fungsi tanggal dan waktu PostgreSQL, terutama EXTRACT, Anda dapat dengan mudah memfilter data sesuai kebutuhan. Baik Anda sedang menganalisis operasional bisnis, merencanakan acara, atau sekadar mengelola jadwal, memahami cara melakukan query hari kerja akan memperkuat keterampilan database Anda.

Praktikkan contoh-contoh ini, jelajahi dokumentasi PostgreSQL untuk fungsi tanggal/waktu lainnya, dan dapatkan lebih banyak wawasan dari data Anda.

Selamat mencoba query!

Beekeeper Studio Adalah GUI Database Gratis & Open Source

Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna Tentang Beekeeper Studio

★★★★★
"Beekeeper Studio sepenuhnya menggantikan alur kerja SQL lama saya. Cepat, intuitif, dan membuat pekerjaan database jadi menyenangkan lagi."
— Alex K., Database Developer
★★★★★
"Saya sudah mencoba banyak GUI database, tetapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung bisa dipakai."
— Sarah M., Full Stack Engineer

Siap Meningkatkan Alur Kerja SQL Anda?

download Unduh Gratis