У меня есть следующий зверь оператора SQL (DB2) ...
select ((date(days(date(cast(year('2012-03-28')-6 as char(4))|| '-01-01')) -(dayofweek(date(cast(year('2012-03-28')-6 as char(4))|| '-01-01') )-1))+7 days)+(((week('2012-03-28')-2)* 7)+dayofweek('2012-03-28')-1) days) AS CAL_COMP_DATE
from sysibm.sysdummy1
Принимая дату ввода среды, 2012-03-28, это вернется среда, 2006-03-29,Обратите внимание, что это соответствует четвергам.Соответствует соответствующему календарному дню предыдущих лет.
Есть ли более элегантный способ достижения той же цели в C # или VB.NET?Я пытался перевести этот запрос на VB.NET, но не смог сделать это идеально, и он выглядит просто ужасно и неприемлемо.