Условие даты не дает никаких результатов в запросе MySQL
У меня есть такая таблица:
> desc my_tab
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| host | varchar(128) | NO | | | |
| state | varchar(128) | YES | | NULL | |
| cdt | datetime | YES | | NULL | |
| mdt | timestamp | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
Есть много строк с датой>= '31-jan-2018 00:00:00'. Если я бегу select * from my_tab
Я вижу их. Тем не менее, когда я запускаю этот запрос:
select * from my_tab where cdt >= '31-jan-2018 00:00:00'
Я не получаю результатов.
Что я делаю неправильно?
1 ответ
Решение
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html
Хотя MySQL пытается интерпретировать значения в нескольких форматах, части даты всегда должны указываться в порядке год-месяц-день (например, '98-09-04'), а не в виде месяц-день-год или день-месяц- год заказов обычно используется в других местах (например, "09-04-98", "04-09-98").