В: Какъв е правилният формат/стойност за DATETIME литерал в MySQL оператор?
А: В MySQL, стандартният формат за DATETIME буквалният е:
'YYYY-MM-DD HH:MI:SS'
с времевия компонент като 24-часов часовник (т.е. цифрите на часовете, предоставени като стойност между 00 и 23).
MySQL предоставя вградена функция STR_TO_DATE който може да конвертира низове в различни формати в DATE или DATETIME типове данни.
Така че, като алтернатива, можете също да посочите стойността на DATETIME с извикване на тази функция, както следва:
STR_TO_DATE('12/21/2012 1:13:58 PM','%m/%d/%Y %h:%i:%s %p')
Така че можете да накарате MySQL да извърши преобразуването вместо вас в INSERT изявление, ако вашите VALUES списъкът изглеждаше така:
... VALUES ('@stockID', STR_TO_DATE('@dateUpdated','%m/%d/%Y %h:%i:%s %p');
(Забелязвам, че липсва задължителна запетая между двата литерала във вашите VALUES списък.)
MySQL позволява известна свобода в разделителите между частите на DATETIME буквално, така че не са строго задължителни.
Справочно ръководство за MySQL 5.5.