Справка по запросу предложения MySQL datetime where

#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.