ВЫБЕРИТЕ DISTINCT на datetime - PullRequest
       35

ВЫБЕРИТЕ DISTINCT на datetime

0 голосов
/ 06 июня 2011

Мне нужно отобразить различные значения поля datetime, называемого datetimestamp, из таблицы SQLServer 2005 в формате MMM YYYY.Мне также нужно, чтобы они были отсортированы в хронологическом порядке.

Пока у меня есть это:

Select distinct CONVERT(CHAR(4), datetimestamp, 100) + CONVERT(CHAR(4), datetimestamp, 120) as MonthYear from TableName order by MonthYear

"Порядок", конечно, сортирует его в альфа-порядке из-за преобразования.заставить его отсортировать его в хронологическом порядке?

Feb 2009
Apr 2009
Dec 2009

Спасибо.

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

edit2: похоже, вам нужно отодвинуть более одного столбца. При этом используется только подзапрос из предыдущей попытки:

    select distinct DATEPART(year,datetimestamp) as year, 
           DATEPART(month,datetimestamp) as month,
           CONVERT(CHAR(4), datetimestamp, 100) 
           + CONVERT(CHAR(4), datetimestamp, 120) as MonthYear
    from TableName order by DATEPART(year,datetimestamp), 
                            DATEPART(month,datetimestamp)
0 голосов
/ 06 июня 2011
...