P: ¿Cuál es el formato/valor correcto para DATETIME
? literal dentro de una declaración de MySQL?
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.