Как выбрать ближайшие даты из mysql из следующего формата даты? - PullRequest
0 голосов
/ 27 января 2020

Как выбрать предстоящую дату?

datetime
01/24/2020 6:15 PM,
01/39/1994 12:04 AM,
01/29/1994 12:04 AM,
01/30/2020 6:15 PM,
07/19/1994 12:04 AM

data

1 Ответ

1 голос
/ 27 января 2020

Вы хотите превратить эти строки в даты? Вы можете использовать str_to_date() для этого:

str_to_date(mycol, '%m/%d/%Y %k:%i %p')

Как только это будет сделано, вы можете фильтровать по будущим датам следующим образом:

select * 
from mytable 
where str_to_date(mycol, '%m/%d/%Y %k:%i %p') > current_timestamp

Обратите внимание, что это неэффективный метод: базе данных необходимо преобразовать каждую строку в дату, прежде чем ее можно будет сравнивать (индекс здесь бесполезен).

В качестве приоритета следует рассмотреть возможность исправления модели данных для сохранения дат в соответствующих тип данных (MySQL имеет datetime или timestamp).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...