Проблема даты ORDER BY SQL

Открытие является завершением поиска.

, Если Вы не могли бы преуспеть в том, чтобы найти что-то, назовите функцию "Search". Например, текстовый поиск в редакторе не может перестать работать ни из-за каких соответствий - затем вызов его, "Находка" легла бы.

, С другой стороны: в установленном сайте поиска задания можно сказать, "Находят задание PHP", потому что Вы знаете, что для (почти) чего-либо Ваши пользователи хотят, будут предложения. Это также заставляет его звучать уверенным, положительным и энергичным.

41
задан code_burgar 9 October 2009 в 20:33
поделиться

2 ответа

Кажется, ваш столбец даты не относится к типу datetime но варчар. Вы должны преобразовать его в datetime при сортировке:

select date
from tbemp
order by convert(datetime, date, 103) ASC

style 103 = dd / MM / yyyy ( msdn )

42
ответ дан 27 November 2019 в 00:29
поделиться

Мне кажется, что ваш столбец - это не столбец даты, а текстовый столбец (varchar / nvarchar и т. Д.). Вы должны сохранить его в базе данных как дату, а не строку.

Если у вас есть , чтобы сохранить его как строку по какой-то причине, сохраните его в отсортированном формате, например yyyy / MM / dd.

Как показывает Наджмеддин, вы можете преобразовывать столбец при каждом доступе, но я бы очень постарался этого не делать. Это заставит базу данных выполнять на много больше работы - она ​​не сможет хранить соответствующие индексы и т.д. По возможности сохраняйте данные в типе, соответствующем самим данным.

16
ответ дан 27 November 2019 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: