Overview
SQL date format sangat penting untuk pengolahan data yang berasal dari berbagai sumber. Dengan adanya standar format tanggal ataupun waktu, data memiliki bentuk yang konsisten. Inilah jenis-jenis format date di SQL, fungsi, contoh, dan cara menggunakannya!
Umumnya, untuk menganalisis suatu dataset membutuhkan data yang cukup banyak agar hasil analisis yang dilakukan mewakili keadaan sebenarnya. Hal ini juga berlaku dalam pengolahan data di SQL.
Biasanya data dalam suatu dataset tidak hanya berasal dari satu hari saja melainkan terdiri dari beberapa hari, bulan, hingga tahun. Hal ini disebut juga dengan historical data, sehingga sebagian besar dataset memiliki data tanggal/waktu untuk menandai kapan data tersebut dihasilkan.
Sebagai contoh, apabila kita memiliki data kelahiran dari rumah sakit A, tentunya dataset ini memiliki data tanggal untuk mengetahui kapan tanggal lahir setiap bayi. Atau misalkan data tentang penjualan makanan dan minuman dari restoran B, di mana tanggal menunjukkan kapan makanan atau minuman tersebut dipesan oleh pengunjung.
Sehingga dapat disimpulkan bahwa, data tanggal merupakan salah satu hal yang cukup penting untuk mengolah data lebih lanjut.
Jenis-jenis Format Tanggal di SQL
Umumnya, tipe data untuk tanggal dan waktu dibagi menjadi beberapa tipe seperti DATE yang berupa tanggal, DATETIME dan TIMESTAMP yang terdiri dari tanggal dan waktu, dan juga YEAR yang merupakan tahun.
Perbedaan DATETIME dan TIMESTAMP ada pada bagian detik di mana untuk DATETIME, detiknya merupakan bilangan bulat sedangkan pada TIMESTAMP bisa berupa bilangan desimal.
Keempat tipe data inilah yang dapat digunakan atau diubah formatnya menggunakan DATE_FORMAT(). Setiap aplikasi/tools SQL memiliki DATE_FORMAT() yang berbeda-beda.
Pada kesempatan kali ini akan dijelaskan date format atau format tanggal pada MySQL dan juga SQL Server.
DATE_FORMAT() pada MySQL
Pada MySQL, format tanggal untuk setiap tipe data dapat dituliskan sebagai berikut:
- DATE
Umumnya DATE_FORMAT() untuk data jenis DATE adalah YYYY-MM-DD
- DATETIME
Umumnya DATE_FORMAT() untuk data jenis DATETIME adalah YYYY-MM-DD HH:MI:SS
- TIMESTAMP
Umumnya DATE_FORMAT() untuk data jenis TIMESTAMP adalah YYYY-MM-DD HH-MI-SS.NNN
- YEAR
Umumnya DATE_FORMAT() untuk data jenis YEAR adalah YYYY atau YY
DATE_FORMAT() pada SQL Server
Pada SQL Server, format tanggal untuk setiap tipe data dapat dituliskan sebagai berikut:
- DATE
Umumnya DATE_FORMAT() untuk data jenis DATE adalah YYYY-MM-DD
- DATETIME
Umumnya DATE_FORMAT() untuk data jenis DATETIME adalah YYYY-MM-DD hh:mm:ss[.nnn]
- SMALLDATETIME
Umumnya DATE_FORMAT() untuk data jenis SMALLDATETIME adalah YYYY-MM-DD hh-mm-ss
- TIME
Umumnya DATE_FORMAT() untuk data jenis TIME adalah hh:mm:ss[.nnnnnn]
Fungsi Format Date di SQL
Secara keseluruhan, DATE_FORMAT() ini sering digunakan dalam pengolahan data menggunakan SQL untuk mengubah bentuk data tanggal maupun waktu menjadi bentuk yang standar. Terkadang data mentah yang dimiliki mempunyai format yang berbeda-beda sehingga dengan adanya DATE_FORMAT(), bentuk data untuk tanggal dan waktu menjadi lebih konsisten.
Dengan bentuk tanggal dan waktu yang konsisten, ini akan memudahkan kita dalam melakukan sorting, memfilter, membandingkan maupun pencarian data di dalam database sesuai dengan tanggal yang kita inginkan.
Selain itu, penggunaan DATE_FORMAT() cukup penting untuk integritas data, karena dapat membantu menghindari kesalahan dan kebingungan yang mungkin timbul karena penggunaan format tanggal yang berbeda. Ini sangat penting ketika berhadapan dengan data yang berasal lebih dari satu sumber.
Cara Menggunakan Date Format di SQL
Dalam penulisan query SQL untuk DATE_FORMAT(), secara umum penulisannya setelah SELECT dengan syntax DATE_FORMAT(date, format) di mana date merupakan nama kolom atau data tanggal yang akan diubah bentuknya dan format merupakan bentuk data yang diinginkan.
Terdapat beberapa macam format tanggal yang dapat dituliskan di dalam DATE_FORMAT(). Setiap format memiliki hasil yang berbeda tergantung dengan format apa yang dipilih. Berikut merupakan tabel format tanggal yang dapat dituliskan dalam query DATE_FORMAT()
Data yang dihasilkan berupa angka yang menandakan minggu ke-berapa dalam tahun tersebut dengan hari minggu menjadi hari pertama dalam minggu tersebut (Contoh: 00, 01, ..., 52)
Untuk dapat lebih memahami penulisan DATE_FORMAT(), perhatikan pada 3 contoh di bawah ini dengan menggunakan data kelahiran klinik A:
Tabel Birth_data
{{COMPONENT_IDENTIFIER}}
Contoh 1:
Misal akan dicari hari kelahiran untuk setiap anak pada data di atas, maka dapat dituliskan dengan query sebagai berikut:
Dan hasil yang diperoleh dari penulisan query di atas adalah sebagai berikut:
Dapat dilihat bahwa format tanggal kelahiran setiap anak berubah menjadi nama hari kelahiran setiap anak.
Contoh 2:
Contoh selanjutnya, apabila ingin melihat bulan kelahiran anak tersebut, maka dapat dicari dengan query sebagai berikut:
Dari penulisan query di atas, akan diperoleh hasil sebagai berikut:
Dapat dilihat dari hasil di atas bahwa data tanggal sudah berubah menjadi nama bulan kelahiran untuk setiap anak.
Contoh 3:
Contoh lain, apabila ingin melihat minggu ke berapa dalam tahun tersebut untuk setiap anak. Maka dapat dicari dengan query sebagai berikut:
Dari penulisan query di atas, akan diperoleh hasil sebagai berikut:
Dapat dilihat bahwa tanggal kelahiran untuk setiap anak sudah berubah formatnya menjadi angka yang menandakan pada minggu ke berapa (dalam tahun tersebut) setiap anak tersebut lahir.
Penutup
Dalam mengolah suatu data, khususnya apabila data yang akan digunakan diambil dari beberapa sumber, DATE_FORMAT() berperan penting dalam menetapkan standar data tanggal dan waktu agar datanya memiliki bentuk yang konsisten.
Bentuk tanggal dan waktu yang konsisten dapat memudahkan kita dalam mengolah data yang ada agar terhindar dari kesalahan yang tidak diinginkan. Tetapi, perlu diingat bahwa format tanggal dan waktu untuk DATE_FORMAT() berbeda-beda untuk setiap tools/aplikasi.
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)
Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!
Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)