Как-то, захотел я построить график реализации товара по месяцам. Ничего сложного:
1. Создал запрос
2. Выбрал "Формат отображения даты" - "Месяц и год"
3. Построил график
Все бы хорошо, но одно плохо - некорректно (да и не красиво) отображалась группировка количества по дате: 1.2009, 11.2007, 12.2007, 5.2008, 8.2008
А хотелось бы видеть: 2007.11, 2007.12, 2008.05, 2008.08, 2009.01
Соответственно, решил я создать запрос с CustomSQL кодом для корректного (хронологически правильного) отображения даты на графике!
Вот, что получилось:
SELECT TOP 5
(CAST(DATEPART(YEAR, [tbl_Invoice].[InvoiceDate]) AS VARCHAR(4)) + '.' +
CASE
WHEN CAST(DATEPART(MONTH, [tbl_Invoice].[InvoiceDate]) AS VARCHAR(2)) 10 THEN '0'
ELSE ''
END
+ CAST(DATEPART(MONTH, [tbl_Invoice].[InvoiceDate]) AS VARCHAR(2)) )
AS [InvoiceDate]
FROM [tbl_Invoice]
ORDER BY 1 ASC
InvoiceDate
-----------
2006.08
2006.09
2006.10
2006.11
2008.07
Как видно из тестовой выборки - дата именно в том формате, что и нужно!
Успехов Вам!