Masalah:
Anda ingin mengonversi string menjadi tanggal di kumpulan hasil Anda.
Contoh:
Basis data kami memiliki tabel bernama accounts_creation
, dengan bidang bernama company_id
dari tipe data NUMBER dan dua bidang NVARCHAR2 bernama company_name
dan registration_date
seperti yang ditunjukkan di bawah ini.
id_perusahaan | nama_perusahaan | tanggal_pendaftaran |
---|---|---|
1 | Dasalomba | 5 Jan 1978 |
2 | Vestel | 21 Sep 1991 |
3 | Kapel Putih | 18 Okt 2017 |
4 | Piala Perak | 4 Des 2021 |
5 | JohnnyBros | 28 Agustus 1984 |
Kami ingin mengonversi kolom string registration_date
ke dalam kolom tanggal.
Solusi:
Kami akan menggunakan TO_DATE()
fungsi. Berikut pertanyaannya:
SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Berikut hasil querynya:
id_perusahaan | nama_perusahaan | tanggal_pendaftaran |
---|---|---|
1 | Dasalomba | 05-JAN-78 |
2 | Vestel | 21-SEP-91 |
3 | Kapel Putih | 18-OCT-17 |
4 | Piala Perak | 4-Desember-21 |
5 | JohnnyBros | 28-AUG-84 |
Diskusi:
TO_DATE(string, format)
fungsi di Oracle mengubah nilai string menjadi tanggal. Fungsi ini membutuhkan dua argumen:string yang akan dikonversi dan format tanggal. Dalam spesifikasi format, DD
menandakan hari dalam sebulan (1-31), MON menandakan singkatan nama bulan, dan YEAR
menandakan tahun 4 digit. Anda dapat membaca lebih lanjut tentang format yang tersedia dalam dokumentasi Oracle SQL di sini.