Tips dan Trik IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Djoni Darmawikarta
djoni_darmawikarta@yahoo.ca
Lisensi Dokumen:
Copyright © 2004 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
LATAR BELAKANG
Ada email japri menanyakan solusi untuk menyeragamkan tanggal. Persoalan
yang sama percis saya alami semasa dinas di IBM Asia 4 tahun yang lalu. Dan,
saya masih ingat solusinya.
KASUS
Kasus yang dihadapi penanya dapat dengan sederhana saya uraikan sebagai
berikut. Dia diminta membuat aplikasi yang menghasilkan laporan bulanan.
Laporan berisi ringkasan terpadu dari semua aktivitas departemen kerja yang
ada di perusahaan, termasuk departemen penjualan, stok barang, administrasi,
dan personalia.
Persoalannya adalah format tanggal yang tidak seragam dari data-data yang
berasal dari macam-macam aplikasi milik departemen-departemen diatas.
Aplikasi-aplikasi itu satu dengan lain tidak terkait (tidak terintegrasi).
Beruntung semuanya menggunakan database Oracle.
FUNGSI TO_CHAR di ORACLE
Bentuk umum fungsi TO_CHAR adalah:
TO_CHAR(tanggal, ‘format’)
Fungsi ini, dapat dikatakan: Mengubah format tanggal kedalam bentuk
diinginkan yang didefinisikan dengan string format.1 Dimana tanggal adalah
input dengan format apapun, dan format adalah target formatnya, misalnya ‘MM-
YYYY’. Contoh tanggal dengan format ini adalah ‘05-2004’ untuk bulan Mei tahun
2004.
1
Aturan detil dan lengkap pembentukan string format ini ada didalam dokumentasi Oracle.
1
Tips dan Trik IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
SOLUSI MENGGUNAKAN FUNGSI TO_CHAR dan VIEW
Sebagai contoh, berikut struktur tabel data Penjualan dan Aktivitas Gudang.
Keduanya saya sederhanakan untuk memberikan fokus pada masalah, yaitu
tanggal yang formatnya tidak seragam (TANGGAL PESANAN dan TANGGAL
AKTIVITAS)
Tabel PENJUALAN terdiri dari kolom-kolom (field) JENIS PENJUALAN, TANGGAL
PESANAN, dan NILAI PESANAN
Tabel AKTIVITAS GUDANG terdiri dari kolom-kolom: KODE AKTIVITAS GUDANG,
TANGGAL AKTIVITAS, dan NILAI BARANG
Solusi yang saya usulkan sangat sederhana, menggunakan fungsi TO_CHAR
yang sudah disediakan di Oracle database.
CREATE VIEW ringkasan_aktivitas_terpadu_v AS (
SELECT jenis_penjualan kode_aktivitas, TO_CHAR(tanggal_pesan, ‘MM-YYYY’) bulan_tahun, SUM
(nilai_pesanan) nilai
FROM penjualan
GROUP BY jenis_penjualan, TO_CHAR(tanggal_pesan, ‘MM-YYYY’)
UNION ALL
SELECT kode_aktivitas_gudang kode_aktivitas, TO_CHAR(tanggal_aktivitas, ‘MM-YYYY’) bulan_tahun,
SUM(nilai_barang) nilai
FROM aktivitas_gudang
GROUP BY kode_aktivitas, TO_CHAR(tanggal_aktivitas, ‘MM-YYYY’) )
View ringkasan_aktivitas_terpadu_v ini menyediakan data dengan tiga kolom,
yaitu: kode_aktivitas, bulan_tahun, dan nilai, yang berasal dari tabel data
sumbernya(penjualandanaktivitas_gudang),dikelompokkanper
jenis_penjualan atau kode_aktivitas_gudang dan bulan dari tanggal_pesan atau
tanggal_aktivitas.
Melalui view ini data yang diperlukan untuk membuat laporan akan diperoleh
tidak lagi terganggu oleh keragaman format tanggal yang ada dari berbagai
sumber data. Bahkan kita tidak peduli sama sekali format tanggal data Oracle
dari sumbernya!
Next
« Prev Post
« Prev Post
Previous
Next Post »
Next Post »
2 Komentar untuk "Fungsi TO_CHAR untuk menyeragamkan format date/time"
Terimakasih atas informasinya...
kostum karnaval profesi anak baju profesi anak murah tempat jual baju pilot anak
Informasi Pilihan Identitas:
Google/Blogger : Khusus yang punya Account Blogger.
Lainnya : Jika tidak punya account blogger namun punya alamat Blog atau Website.
Anonim : Jika tidak ingin mempublikasikan profile anda (tidak disarankan).