Я пытаюсь разработать приложение для планирования, которое должно представлять такие правила, как «это событие происходит во 2-ю и 4-ю среду месяца» или «это событие происходит в нечетные субботы месяца (т. е. 1-е, 3-е и 5-я суббота).
С этой целью мне нужно написать функцию на T-SQL, которая принимает на вход дату и возвращает целое число, представляющее, какое вхождение в месяце имени дня приходится на эту дату.
Например, если я отправлю функцию 2012 DEC 21, она вернет 3, потому что 21 декабря 2012 года приходится на 3-ю пятницу этого месяца. Учитывая 29 декабря 2012 года, он вернет 5, поскольку 29 декабря 2012 года приходится на 5-ю субботу этого месяца.
Я хотел бы сделать это, не прибегая к предварительно заполненной таблице календаря. Я мог бы использовать эту функцию для работы с историческими датами, например. чтобы вычислить, какой средой месяца было 16 июля 1958 года.