Заказ результата запроса MySQL на основе даты

0

У меня есть группа записей в базе данных, которую я хочу сортировать по дате, но формат даты выглядит так: Y-m-d g:i:s, как я могу искать базу данных по дате, а не по дате?

  • 0
    $ sql = "SELECT cast (". $ date. "AS datetime) в качестве сортировки по порядку сортировки таблицы по сортировке по ASC";
Теги:

5 ответов

4
Лучший ответ

Если это поле datetime делает это для упорядочивания

ORDER BY date_field ASC

Для поиска выполните

WHERE DATE(date_field) = '2010-05-08'

Если поле типа varchar попытается найти STR_TO_DATE (ссылка)

1
select * form table where date(datetime) = '2010-05-08'
0

вот пример

$sql="SELECT cast(".$date." AS datetime) as sortdate FROM table order by sortdate ASC";

или

$sql="SELECT cast(DateColumnName AS datetime) as sortdate FROM table order by sortdate ASC";
0

Это легко. Сначала конвертируйте даты в правильный формат, а именно Y-m-d h: i: s

  • 0
    Он отображается в базе данных как Ymd h: i: s, но я не уверен, как мне поступить с запросом записей, основываясь на дате, а не на дате, например, так: «SELECT * WHERE dateTime = '2010- 05-08 «Например, это возможно?
  • 0
    @kielie, если он уже в правильном формате, используйте функцию date () для фильтрации: WHERE date(dateTime)='2010-05-08'" и с заказом уже не должно быть проблем
-2

Вы можете сделать:

ORDER BY UNIX_TIMESTAMP(your_date)

дата вашей даты должна быть преобразована сначала в Y-m-d h: i: s

  • 0
    В таблице не упоминается использование меток времени. Дата уже Ymd h: i: s
  • 0
    если он конвертируется в Ymd h: i: s, нет необходимости использовать метку времени для упорядочения. Ymd h: i: s будет заказано все в порядке. Вот цель такого формата

Ещё вопросы

Сообщество Overcoder
Наверх
Меню