D: Qual è il formato/valore corretto per DATETIME
letterale all'interno di un'istruzione MySQL?
R: In MySQL, il formato standard per un DATETIME
letterale è:
'YYYY-MM-DD HH:MI:SS'
con la componente temporale come orologio a 24 ore (ovvero, le cifre delle ore fornite come un valore compreso tra 00 e 23).
MySQL fornisce una funzione incorporata STR_TO_DATE
che può convertire stringhe in vari formati in DATE
o DATETIME
tipi di dati.
Quindi, in alternativa, puoi anche specificare il valore di un DATETIME
con una chiamata a quella funzione, in questo modo:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Quindi, potresti fare in modo che MySQL esegua la conversione per te in INSERT
dichiarazione, se il tuo VALUES
l'elenco era simile a questo:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Ho notato che manca una virgola obbligatoria tra i due valori letterali nel tuo VALUES
elenco.)
MySQL consente una certa latitudine nei delimitatori tra le parti di DATETIME
letterali, quindi non sono strettamente obbligatori.
Manuale di riferimento di MySQL 5.5.