Я ищу UDF SQL Server, который будет эквивалентен DATEPART(WEEK, @date)
, но позволит вызывающему абоненту указать первый день недели. Совсем похоже на функцию WEEK
MySql. Например .:SQL Server UDF за неделю, с аргументом первого дня недели
CREATE FUNCTION Week (@date date, @firstdayofweek int)
RETURNS int
BEGIN
-- return result would be the same as:
-- SET DATEFIRST @firstdayofweek
-- DATEPART(WEEK, @date)
END
Мое приложение не имеет возможности позвонить SET DATEFIRST
.
Примеры:
SELECT Week('2013-08-28', 2) -- returns 35
SELECT Week('2013-08-28', 3) -- returns 36
Вышеуказанные результаты всегда будут одинаковыми, независимо от значения SQL Server для @@DATEFIRST
.
Так что, если я представить 2013-08-28 и 2, что я должен вернуться? –
35. Если вы отправляете 2013-08-28 и 3, вы должны вернуться назад 36. –
Как насчет 2013-01-01 и 1? Кроме того, 1 представляет воскресенье или понедельник? –