Вы, кажется, хотите:
SELECT MonthYear,
CONVERT(DATE, '01-' + MonthYear) as ConvertedDate
FROM dbo.Test
ORDER BY ConvertedDate;
SQL Server неплохо умеет преобразовывать строки в даты без формата.
Примечание: вам не нужно включать преобразование в SELECT
, поэтому:
SELECT MonthYear
FROM dbo.Test
ORDER BY CONVERT(DATE, '01-' + MonthYear);
Или, вы даже можете добавить это в таблицу:
ALTER TABLE Test
ADD MonthYear_date as (CONVERT(DATE, '01-' + MonthYear));
Затем вы можете использовать MonthYear_date
, как и любой другой столбец таблицы.