的對應日曆日我有一個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