Pada satu kesempatan dalam pembuatan database saya dihadapkan dalam suatu masalah bagaimana merubah data tanggal dari sebuah table.
contoh table BKU dari database Pembukuan yang terdiri dari field field
- NoBKU
- Tanggal
- Rekening
- Penerimaan
- Pengeluaran
- Uraian
NoBKU Tanggal Rekening Penerimaan Pengeluaran Uraian
000003 3/13/2013 9999901 227272 0 Diterima PPN Suku Cadang Triwulan I.
000003 3/13/2013 9999901 0 227272 Dibayarkan PPN Suku Cadang Triwulan I.
000003 3/13/2013 9999903 34090 0 Diterima PPh22 Suku Cadang Triwulan I.
000003 3/13/2013 9999903 0 34090 Dibayarkan PPh22 Suku Cadang Triwulan I.
000003 3/13/2013 9999901 295454 0 Diterima PPN Suku Cadang Triwulan I.
000003 3/13/2013 9999901 0 295454 Dibayarkan PPN Suku Cadang Triwulan I.
Pada saat ingin menggunakan data diatas untuk tahun 2014 saya terlalu repot untuk merubah data Tahun(year) pada field tanggal, apa lagi record data yang tersedia sangat banyak.
akhir nya dengan beberapa teknik Query(Queries)
Sebuah query digunakan untuk mengambil data dari database dalam format yang mudah dibaca sesuai dengan permintaan pengguna. Navicat menyediakan dua alat yang kuat untuk bekerja dengan SQL query: Query Editor untuk mengedit teks query secara langsung dan Query Builder untuk membangun query visual. Pada MySQL terdapat functions DATE_FORMAT(date,format). functions inilah yang saya gunakan untuk mengupdate data tanggal dengan merobah tahun 2013 ke 2014.
Query nya adalah sebagai berikut
"update bku set tanggal =DATE_FORMAT(tanggal,'%d-%m-2014') "
jika ingin merobah data bulan (Month) tinggal merobah %m dengan angka bulan sehingga query akan menjadi
"update bku set tanggal =DATE_FORMAT(tanggal,'%d-4-%Y') "
untuk melakukan filter update kita bisa menambahkan kondisi where, sehingga hanya data yang kita filter saja yang diupdate. Jika untuk merobah data tanggal (date) saja tinggal merobah %d menjadi tanggal yang ingin di robah.
Bisa dilihat pada Queries update bulan saya gunakan %Y (y Capital) arti nya %Y akan memunjulkan data tahun itu 4 digit misl 2014 sedangkan jika digunakan %y maka yang muncul adalah 14.
berikut penjelasan tentang DATE_FORMAT
DATE_FORMAT(date,format)
Formats the date value according to the format string.
The following specifiers may be used in the format string. The .%. character is required before format specifier characters.
Specifier Description%a Abbreviated weekday name (Sun..Sat)%b Abbreviated month name (Jan..Dec)%c Month, numeric (0..12)%D Day of the month with English suffix (0th, 1st, 2nd, 3rd, .)%d Day of the month, numeric (00..31)%e Day of the month, numeric (0..31)%f Microseconds (000000..999999)%H Hour (00..23)%h Hour (01..12)%I Hour (01..12)%i Minutes, numeric (00..59)%j Day of year (001..366)%k Hour (0..23)%l Hour (1..12)%M Month name (January..December)%m Month, numeric (00..12)%p AM or PM%r Time, 12-hour (hh:mm:ss followed by AM or PM)%S Seconds (00..59)%s Seconds (00..59)%T Time, 24-hour (hh:mm:ss)%U Week (00..53), where Sunday is the first day of the week%u Week (00..53), where Monday is the first day of the week%V Week (01..53), where Sunday is the first day of the week; used with %X%v Week (01..53), where Monday is the first day of the week; used with %x%W Weekday name (Sunday..Saturday)%w Day of the week (0=Sunday..6=Saturday)%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v%Y Year, numeric, four digits%y Year, numeric (two digits)%% A literal .%. character%x x, for any.x. not listed above
Sekian pembelajaran yang bisa saya tuliskan di blog ini untuk sementara waktu.
Saran dan Comment nya di tunggu!!
Semoga bermanfaat