У меня есть даты, хранящиеся в виде строк в таблице (имя столбца — «log_event») — да, я знаю, что это должен быть реальный тип даты, — но я работаю с существующей таблицей, которую я не создавал, и т. д.
Во всяком случае, даты в столбце в виде
'08/14/2014 1:01 am' (or pm)
Я действительно просто пытаюсь получить SELECT на основе части строки с датой (мне все равно, сколько времени для целей моего SELECT, мне просто нужны все строки, которые имеют дату между, скажем, date1 и date2) , и я пробовал:
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y') > STR_TO_DATE('08/01/2014', '%m/%d/%Y')
но мой SELECT возвращает NULL
(Да, я знаю, что это не ВЫБОР между двумя датами - я просто пытаюсь построить строку запроса шаг за шагом, чтобы убедиться, что я все сделал правильно, прежде чем пытаться перейти на следующий уровень)
Я также пытался отформатировать время, выполнив:
SELECT * FROM db_event_log WHERE STR_TO_DATE(log_event,'%m/%d/%Y %l:%i %p') > STR_TO_DATE('08/01/2014 12:00 am', '%m/%d/%Y %l:%i %p')
который также возвращает выбор NULL.
Где я ошибаюсь?