Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel est le format DateTime correct pour la base de données MySQL ?

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.