的对应日历日我有一个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,但一直没有做到这一点,它看起来很可怕,不可维护。
就像丹尼尔说的,你没有提供所有必要的逻辑。你想根据日历年的第n个星期三进行匹配吗?或轮到最近的同一个工作日或其他规则?你可以修改他提供的任何内容。 – nycdan 2011-03-30 17:11:51