−113
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
with mycte as
(
select dateadd(dd, 1,@dato1)as Dato
union all
select Dato + 1
from mycte
where Dato + 1 <= @dato2
)
select count(Dato) as antall
from mycte
where Dato <=@dato2
OPTION (MAXRECURSION 0)
Суровые нордические ребята пытаются найти разницу в днях между двумя датами с помощью рекурсии.
И ведь dateadd они знают, а про datediff нет.
Так же веселит OPTION (MAXRECURSION 0), который обычно устанавливают с параметром отличным от 0 в тех случаях, когда рекурсия убегает в бесконечность, чтобы хоть как-то ограничить ее. Видимо, эхо дебаггинга сего замечательного кода.
Запостил: DBdev,
23 Января 2012
Комментарии (0) RSS
Добавить комментарий