Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сортировка по текстовому значения месяца  [new]
Sobsoft
Member

Откуда:
Сообщений: 19
Здравствуйте. Навоял жуткий код по извлечению данных из внешней БД.
Получившийся результат примерно так выглядит:
Картинка с другого сайта.
Все бы хорошо, но сортировка идет по столбцу месяца, и собственно идет по алфавиту.
Подскажите пожалуйста, как сделать сортировку по календарю, а не по алфавиту?
SELECT     TOP (100) PERCENT DATENAME(MONTH, CONVERT(dateTime, CONVERT(varchar(10), TimeAnswer, 104))) AS TimeAnswer2, AOutNumber, COUNT(TimeAnswer) AS Count, 
                      CAST(MIN(CAST(Id AS varchar(36))) AS uniqueidentifier) AS ids
FROM         dbo.A_Stat_Connections_1x1
WHERE     (YEAR(TimeAnswer) = YEAR({ fn NOW() })) AND (AOutNumber = '201' OR
                      AOutNumber = '202' OR
                      AOutNumber = '203' OR
                      AOutNumber = '204' OR
                      AOutNumber = '205' OR
                      AOutNumber = '206' OR
                      AOutNumber = '207' OR
                      AOutNumber = '208')
GROUP BY DATENAME(MONTH, CONVERT(dateTime, CONVERT(varchar(10), TimeAnswer, 104))), AOutNumber
ORDER BY TimeAnswer2 DESC
27 май 13, 13:17    [14353801]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
вместо datename использовать datepart например
27 май 13, 13:24    [14353848]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Вот это зачем?
TOP (100) PERCENT


CONVERT(dateTime, CONVERT(varchar(10), TimeAnswer, 104))
— какой тип у столбца TimeAnswer?

По теме: добавьте в группировку номер месяца, сортируйте по этому номеру.
27 май 13, 13:24    [14353852]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Sobsoft
Member

Откуда:
Сообщений: 19
Гость333
Вот это зачем?
TOP (100) PERCENT


Это из SQL Managment Studio, не обращайте внимания)
Гость333

CONVERT(dateTime, CONVERT(varchar(10), TimeAnswer, 104))
— какой тип у столбца TimeAnswer?.

изначально datetime
27 май 13, 13:29    [14353883]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Sobsoft
Гость333
CONVERT(dateTime, CONVERT(varchar(10), TimeAnswer, 104))
— какой тип у столбца TimeAnswer?.

изначально datetime

Тогда почему бы сразу не брать имя месяца, без этих конвертаций туда-сюда? :-)
DATENAME(MONTH, TimeAnswer)
27 май 13, 13:34    [14353899]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Sobsoft,

месяц неважно из какого года?
27 май 13, 13:36    [14353910]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Подозреваю, что самое правильное -
CONVERT(CHAR(6),TimeAnswer,112)
27 май 13, 13:38    [14353918]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Гость333
Member

Откуда:
Сообщений: 3683
iap
Sobsoft,

месяц неважно из какого года?

Там условие есть
YEAR(TimeAnswer) = YEAR({ fn NOW() })
27 май 13, 13:40    [14353937]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Гость333
iap
Sobsoft,

месяц неважно из какого года?

Там условие есть
YEAR(TimeAnswer) = YEAR({ fn NOW() })
За это условие тоже убивать надо :))
27 май 13, 13:46    [14353977]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Sobsoft
Member

Откуда:
Сообщений: 19
iap
Подозреваю, что самое правильное -
CONVERT(CHAR(6),TimeAnswer,112)

ну в sql сработало и это круто) теперь осталось понять почему в sharepoint это никак не отразилось)
27 май 13, 14:05    [14354097]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка по текстовому значения месяца  [new]
Sobsoft
Member

Откуда:
Сообщений: 19
Все спасибо помогло)
27 май 13, 15:06    [14354539]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить