Существует таблица с полем DATETIME
с именем «created_at». Я пытаюсь выполнить два запроса, как это:STR_TO_DATE() vs CONSTANT при сравнении поля DATETIME
SELECT * FROM myTable WHERE created_at BETWEEN '2015-03-15 10:25:00' AND '2015-03-25 10:30:00';
SELECT * FROM myTable WHERE created_at BETWEEN STR_TO_DATE('2015-03-15 10:25:00', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2015-03-25 10:30:00', '%Y-%m-%d %H:%i:%s');
Я всегда использовал первый запрос, но недавно наткнулся на статью, в которой описывается, что второй подход является лучшим способом для сравнения DATETIME
. К сожалению, в нем нет никаких объяснений, почему этот подход является наилучшим способом.
Теперь у меня есть несколько вопросов:
- есть ли разница между этими двумя подходами?
- Какой способ предпочтительнее?
Спасибо!