sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es el formato DateTime correcto para la base de datos MySQL?

P: ¿Cuál es el formato/valor correcto para DATETIME? literal dentro de una declaración de MySQL?

R: En MySQL, el formato estándar para un DATETIME literal es:

 'YYYY-MM-DD HH:MI:SS'

con el componente de tiempo como un reloj de 24 horas (es decir, los dígitos de las horas proporcionados como un valor entre 00 y 23).

MySQL proporciona una función integrada STR_TO_DATE que puede convertir cadenas en varios formatos a DATE o DATETIME tipos de datos.

Entonces, como alternativa, también puede especificar el valor de un DATETIME con una llamada a esa función, así:

STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')

Entonces, podría hacer que MySQL haga la conversión por usted en INSERT declaración, si su VALUES la lista se veía así:

... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');

(Veo que falta una coma requerida entre los dos literales en su VALUES lista.)

MySQL permite cierta libertad en los delimitadores entre las partes de DATETIME literal, por lo que no son estrictamente necesarios.

Manual de referencia de MySQL 5.5.