T: Apa format/nilai yang tepat untuk DATETIME
literal dalam pernyataan MySQL?
J: Di MySQL, format standar untuk DATETIME
literalnya adalah:
'YYYY-MM-DD HH:MI:SS'
dengan komponen waktu sebagai jam 24 jam (yaitu, angka jam yang diberikan sebagai nilai antara 00 dan 23).
MySQL menyediakan fungsi bawaan STR_TO_DATE
yang dapat mengonversi string dalam berbagai format menjadi DATE
atau DATETIME
tipe data.
Jadi, sebagai alternatif, Anda juga dapat menentukan nilai DATETIME
dengan panggilan ke fungsi itu, seperti ini:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Jadi, Anda dapat meminta MySQL melakukan konversi untuk Anda di INSERT
pernyataan, jika VALUES
. Anda daftarnya seperti ini:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Saya perhatikan Anda memiliki koma wajib yang hilang di antara dua literal di VALUES
. Anda daftar.)
MySQL mengizinkan beberapa garis lintang di pembatas antara bagian DATETIME
literal, jadi tidak terlalu diperlukan.