У меня есть столбец datetime
, даты показаны как «11/13/2012 1:48:27 PM» Мне нужно преобразовать его в «11/13/12».Сортировка столбца datetime, преобразованного varchar
Я знаю, что я могу преобразовать его с помощью
convert(varchar(10), datevalue, 1)
но когда я отсортировать столбец после преобразования его не сортировать по дате. Я не уверен, что convert(datetime, datevalue, 1)
должен делать что-либо, но ничего не происходит, и у меня все еще есть значение даты по умолчанию.
Я попытался это
select convert(varchar(10), datevalue, 1)
from table
order by convert(datetime, datevalue, 1) desc
Это работает, но мой больше запросов выбирает отличный, и я получаю сообщение об ошибке
ORDER BY пункты должны появиться в списке выбора, если SELECT DISTINCT задан
конвертировать после сортировки. –
Покажите свой «больший запрос». У вас есть одна колонка в DISTINCT, которой нет в ORDER BY. Добавьте его, и он должен работать. – Jens
Вы также можете попробовать применить его к типу 'DATE' вместо того, чтобы отнести его к varchar' CAST (datevalue as date) ' –