Мне нужна помощь, чтобы понять определенную строку в коде. Код берет обороты каждого понедельника в 2010 году, а на последней строке суммирует все обороты к одному.Как получить каждый понедельник из даты
Вот код:
SELECT
CASE
WHEN GROUPING (DATUM) = 1 THEN 'Gesamtumsatz'
ELSE CAST (DATUM AS VARCHAR (40))
END AS MONTAGSDATEN,
AVG (VERKAUFSWERT * VERKAUFSMENGE) as UMSATZ
FROM Data_Star_Awesome.dbo.VERKAUFSFAKTEN vk
INNER JOIN DIMDATUM dimD on vk.DATUMID=dimD.DATUMID
WHERE DATEDIFF(dd,0, DATUM)%7=0
AND JAHR = 2010
GROUP BY ROLLUP (DATUM)
Проблематика линия я не понимаю, заключается в следующем:
WHERE DATEDIFF(dd,0, DATUM)%7=0
То, что я знаю, что это занимает дни из даты но я не получаю часть %7=0
. Функция DATEDIFF
должна возвращать все дни. Сохраняются ли эти дни в файле %
? И как он получает все понедельники, используя 7=0
?
Было бы здорово, если бы кто-то мог мне помочь.
спасибо :)
Какие СУБД вы используете? –
'%' - оператор мод. – Appulus