Если ваша функция разделения определена как
CREATE PARTITION FUNCTION TransactionRangePF1(DATETIME)
AS RANGE RIGHT FOR VALUES ('2007-01-01', '2008-01-01', '2009-01-01')
, тогда этот пункт:
$PARTITION.TransactionRangePF1(TransactionDate)
эквивалентно:
CASE
WHEN TransactionDate < '2007-01-01' THEN 1
WHEN TransactionDate < '2008-01-01' THEN 2
WHEN TransactionDate < '2009-01-01' THEN 3
ELSE 4
END
Если все ваши даты упадут до '2007-01-01'
, тогда первое предложение WHEN
всегда будет срабатывать и всегда будет возвращать 1
.
Отправленный вами запрос вернет не более 1
строк для каждого раздела, так как он объединит все строки из раздела (если есть) в одну группу.
Если для какого-либо раздела нет ни одной строки, никакие строки для него не будут возвращены в наборе результатов.