#mysql #sql
#mysql #sql
Вопрос:
У меня есть запрос, который обновляет столбец с именем «активный». Прямо сейчас мой запрос:
UPDATE MainTable
SET active = b'0'
WHERE lastprocessdate < '5/21/2011'
К сожалению, это обновляет все, что невозможно, потому что у всего есть сегодняшняя дата. lastprocessdate
это datetime
столбец, который первоначально обрабатывался с использованием NOW()
.
Ответ №1:
Используйте это:
В MySQL записываются даты yyyy-mm-dd
.
update MainTable set active = b'0' where lastprocessdate < '2011-05-21';
Комментарии:
1. @Johan: Спасибо! Хорошее разъяснение.
2. STR_TO_DATE является более гибким средством предоставления строки даты для правильной интерпретации MySQL.