Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é o formato DateTime correto para o banco de dados MySQL?


P: Qual é o formato/valor correto para DATETIME literal dentro de uma instrução MySQL?

R: No MySQL, o formato padrão para um DATETIME literal é:
 'YYYY-MM-DD HH:MI:SS'

com o componente de hora como um relógio de 24 horas (ou seja, os dígitos das horas fornecidos como um valor entre 00 e 23).

MySQL fornece uma função interna STR_TO_DATE que pode converter strings em vários formatos para DATE ou DATETIME tipos de dados.

Então, como alternativa, você também pode especificar o valor de um DATETIME com uma chamada para essa função, assim:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')

Então, você pode fazer o MySQL fazer a conversão para você no INSERT declaração, se seu VALUES lista ficou assim:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');

(Observo que falta uma vírgula obrigatória entre os dois literais em seu VALUES Lista.)

O MySQL permite alguma latitude nos delimitadores entre as partes do DATETIME literal, então eles não são estritamente necessários.

Manual de referência do MySQL 5.5.