Q : Quel est le bon format/valeur pour DATETIME
littéral dans une instruction MySQL ?
R : Dans MySQL, le format standard pour un DATETIME
littéral est :
'YYYY-MM-DD HH:MI:SS'
avec le composant horaire sous la forme d'une horloge de 24 heures (c'est-à-dire les chiffres des heures fournis sous la forme d'une valeur comprise entre 00 et 23).
MySQL fournit une fonction intégrée STR_TO_DATE
qui peut convertir des chaînes dans différents formats en DATE
ou DATETIME
types de données.
Ainsi, comme alternative, vous pouvez également spécifier la valeur d'un DATETIME
avec un appel à cette fonction, comme ceci :
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Ainsi, vous pourriez demander à MySQL de faire la conversion pour vous dans le INSERT
déclaration, si votre VALUES
la liste ressemblait à ceci :
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Je remarque qu'il vous manque une virgule obligatoire entre les deux littéraux dans votre VALUES
liste.)
MySQL autorise une certaine latitude dans les délimiteurs entre les parties du DATETIME
littéral, donc ils ne sont pas strictement requis.
Manuel de référence MySQL 5.5.