Я работаю с довольно старой базой данных ... И даты хранятся как VARCHAR, и мне нужно сохранить даты как VARCHAR: S, но расширяя их с помощью года = 2020, часа = 0, минуты = 0 и секунды = 0, если эти поля не установлены.
Даты имеют все виды странных форматов, таких как «01/08», «01/08/20», «01/08/2020» и так далее. Я имею дело со всеми форматами, за исключением случаев, когда год не установлен, я пытался с этим запросом, но он установил год на 0 и вызывает ошибку с функцией STR_TO_DATE ()
UPDATE people
SET date =
IF (
YEAR(STR_TO_DATE(date, '%d/%m/%Y %H:%i:%s')) > 0 ,
DATE_FORMAT(STR_TO_DATE(date, '%d/%m/%Y %H:%i:%s'), '%d/%m/%Y %H:%i:%s') ,
DATE_FORMAT(STR_TO_DATE(date, '%d/%m/%Y %H:%i:%s') + INTERVAL 2020 YEAR, '%d/%m/%Y %H:%i:%s')
)
Любая идея чуваки?