Nethaji chennai Ответов: 2

Как заказать по дате в mysql


мои данные столбца 1-Июль, 16-Июль,5-июль, 7-июль,15-Июль, 28-июль, 10-июль я хочу этот порядок по дате


1 июля, 5 июля, 7 июля, 10 июля, 15 июля, 28 июля

Что я уже пробовал:

выберите дату из таблицы порядок по дате

2 Ответов

Рейтинг:
2

OriginalGriff

Не храните его так: никогда не храните даты в строках, это всегда создает проблемы позже.
Вместо этого храните его как значения DATETIME и как отдельные строки в таблице, а не как значения, разделенные запятыми, с внешним ключом обратно к другой строке таблицы, к которой они относятся. Генерация сохраненного CSV-списка из этого почти тривиальна, где сортировка по дате строкового списка CSV-данных возможна, но на самом деле довольно сложна. И позже это вызовет другие проблемы, которые так же сложно исправить.

Измените свою БД и всегда храните данные в соответствующих типах.


Рейтинг:
1

Patrice T

Цитата:
Как заказать по дате в mysql
Как вы можете видеть, это плохая идея хранить даты в обычной человеческой форме, если вы хотите сделать что-то большее, чем просто прочитать эту дату как есть.
Поэтому совет-никогда не делайте этого таким образом.
Дата-это сложный тип данных, и компьютер должен знать, что это дата, чтобы иметь возможность обрабатывать ее.
Большинство языков имеют тип данных DateTime, потому что это очень распространенные данные с очень специфическими операциями.
Если вам нужно сохранить дату в виде строки, то наиболее практичным форматом является "yyyymmdd", который дает "20160818" на сегодняшний день. это в основном то, что DateTime делает внутренне.

Для вашей проблемы, поскольку даты хранятся в плохом виде, вы должны создать программу, чтобы справиться с ними. Ваша программа прочитает строку даты, разделит ее на компоненты и перестроит строку, которая будет соответствовать этому формату "yyyymmdd", просто чтобы иметь возможность сортировать данные. Если вам нужно считать дни между датами, вы должны сделать другую программу.
Преобразование строки В Тип DateTime упростило бы дело.