SQL-сервер MM-DD-YY конвертировать и упорядочивать, не работая, как планировалось - PullRequest
0 голосов
/ 27 декабря 2018

Ниже приведен мой SQL-оператор, который я преобразовал для даты выполнения, чтобы она отображалась как '01/02/2019', которая работает в таблице.

Теперь, когда я заказываю в связи с установленным сроком исполнения сначала 2019, а затем 2018 или месяц, если я использую ASC, а не год.

Я уже пробовал CAST, я просто хочу, чтобы он сортировался правильно.

CONVERT(VARCHAR, DueDate, 101)

Токовый выход:

01/24/2019
01/30/2019
02/01/2019
02/01/2019
02/01/2019
02/06/2019
02/07/2019
03/04/2018
03/05/2019
08/08/2018
09/04/2018
09/12/2018
09/17/2018

Ожидаемый выход:

3/4/2018
8/8/2018
9/4/2018
9/12/2018
9/17/2018
1/24/2019
1/30/2019
2/1/2019
2/1/2019
2/1/2019
2/6/2019
2/7/2019
3/5/2019

1 Ответ

0 голосов
/ 28 декабря 2018

Похоже, ваш запрос сортируется с использованием символьного типа данных.Если вы хотите отобразить форматированную строку даты, но отсортировать по датам, вы можете использовать что-то вроде этого:

select convert(varchar,DueDate,101) TheDate
from MyTable
order by convert(datetime,DueDate)

В зависимости от типа данных поля DueDate, одно из приведений может бытьнеобходимо.Проверьте базовый тип данных поля в вашей таблице.

...