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.