Я не уверен, что вы имеете в виду в своем коде.
Если у вас есть значения, которые вы пытаетесь найти в базе данных, наиболее устойчивым способом было бы создание функции, которую вы могли бы вызывать.Если это невозможно из-за ваших разрешений и т. Д., Вы можете взглянуть на приведенный ниже SQL:
WITH DATE_EXAMPLES (DATE_1, DATE_2) AS (
VALUES ( TIMESTAMP('2012-03-04 01:01:01'),TIMESTAMP('2012-03-25 01:01:01'))
)
SELECT DATE_EXAMPLES.*,
CASE WHEN DAYOFWEEK(DATE_2) < DAYOFWEEK(DATE_1)
THEN ((DAYS(DATE_2) - DAYS(DATE_1)) / 7) + 1
ELSE ((DAYS(DATE_2) - DAYS(DATE_1)) / 7)
END SUNDAYS_BETWEEN
FROM DATE_EXAMPLES
* Обратите внимание: вызов DAYOFWEEK
вернет номер range of 1-7
, где1 - воскресенье, 7 - суббота.