STR_TO_DATE merupakan salah satu fungsi yang dimiliki oleh MySQL untuk mengkonversi String menjadi DATETIME atau DATE atau TIME.
Penggunaannya pun tergantung dari kebutuhan kalian. Saya sendiri baru mencobanya disaat ada kesalahan menset tipe data untuk keperluan Waktu dan Tanggal yang seharusnya menggunakan tipe data DateTime tapi oleh saya menjadi Varchar :D
Dampak penggunaan Varchar pada Tanggal dan Waktu adalah tidak dapat dilakukan query SQL dengan clausa Between. Apalagi bentuk yang saya gunakan adalah dd-MM-yyyy. Semakin rumit aja ketika dilakukan select.
Agar data Tanggal dan Waktu yang sudah terlanjur tersimpan di Varchar dapat di select maka saya menggunakan STR_TO_DATE.
Dalam contoh kasus saya, berada di tabel transaksi dengan field bernama tglwaktu dengan format dd-MM-yyyy, maka setiap datanya akan berbentuk 17-08-2014.
Untuk menampilkan semua data yang memiliki tglwaktu 17-08-2014 maka:
Dan untuk penggunaan Between dalam mencari data berdasarkan rentang waktu 17-08-2014 sampai 17-09-2014 dengan query:
Semoga membantu bagi kalian yang mengalami problem yang sama dengan saya :D
Referensi:
SQLines
Dev.MySQL
StackOverflow
Blog MSDN
Penggunaannya pun tergantung dari kebutuhan kalian. Saya sendiri baru mencobanya disaat ada kesalahan menset tipe data untuk keperluan Waktu dan Tanggal yang seharusnya menggunakan tipe data DateTime tapi oleh saya menjadi Varchar :D
Dampak penggunaan Varchar pada Tanggal dan Waktu adalah tidak dapat dilakukan query SQL dengan clausa Between. Apalagi bentuk yang saya gunakan adalah dd-MM-yyyy. Semakin rumit aja ketika dilakukan select.
Agar data Tanggal dan Waktu yang sudah terlanjur tersimpan di Varchar dapat di select maka saya menggunakan STR_TO_DATE.
Dalam contoh kasus saya, berada di tabel transaksi dengan field bernama tglwaktu dengan format dd-MM-yyyy, maka setiap datanya akan berbentuk 17-08-2014.
Untuk menampilkan semua data yang memiliki tglwaktu 17-08-2014 maka:
SELECT * FROM transaksi WHERE STR_TO_DATE(tglwaktu, '%d-%m-%Y') = "2014-08-17"
Dan untuk penggunaan Between dalam mencari data berdasarkan rentang waktu 17-08-2014 sampai 17-09-2014 dengan query:
SELECT * FROM transaksi WHERE STR_TO_DATE(tglwaktu, '%d-%m-%Y') > "2014-08-17" AND STR_TO_DATE(tglwaktu, '%d-%m-%Y') < "2014-08-17"
Semoga membantu bagi kalian yang mengalami problem yang sama dengan saya :D
Referensi:
SQLines
Dev.MySQL
StackOverflow
Blog MSDN
Penggunaan STR_TO_DATE pada tipe data Varchar
Reviewed by rizupz
on
Minggu, Agustus 17, 2014
Rating:
Tidak ada komentar:
Posting Komentar