P: Jaki jest właściwy format/wartość dla DATETIME
literał w instrukcji MySQL?
O: W MySQL, standardowy format dla DATETIME
dosłowny to:
'YYYY-MM-DD HH:MI:SS'
ze składnikiem czasu jako zegarem 24-godzinnym (tj. cyfry godzin podane jako wartość od 00 do 23).
MySQL zapewnia wbudowaną funkcję STR_TO_DATE
który może konwertować ciągi w różnych formatach na DATE
lub DATETIME
typy danych.
Jako alternatywę możesz również określić wartość DATETIME
z wywołaniem tej funkcji, w ten sposób:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Możesz więc sprawić, że MySQL wykona konwersję za Ciebie w INSERT
oświadczenie, jeśli Twoje VALUES
lista wyglądała tak:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Zauważyłem, że brakuje wymaganego przecinka między dwoma literałami w Twoich VALUES
lista.)
MySQL pozwala na pewną swobodę w zakresie ograniczników między częściami DATETIME
dosłowne, więc nie są ściśle wymagane.