0
我有一個表格,它包含財務期間的開始日期和結束日期。期間的計算開始日期
CHARGE_PERIOD_ID START_DATE END_DATE
13 2013-03-31 00:00:00.000 2013-04-27 00:00:00.000
14 2013-04-28 00:00:00.000 2013-05-25 00:00:00.000
15 2013-05-26 00:00:00.000 2013-06-29 00:00:00.000
16 2013-06-30 00:00:00.000 2013-07-27 00:00:00.000
17 2013-07-28 00:00:00.000 2013-08-24 00:00:00.000
18 2013-08-25 00:00:00.000 2013-09-28 00:00:00.000
19 2013-09-29 00:00:00.000 2013-10-26 00:00:00.000
20 2013-10-27 00:00:00.000 2013-11-23 00:00:00.000
21 2013-11-24 00:00:00.000 2013-12-28 00:00:00.000
22 2013-12-29 00:00:00.000 2014-01-25 00:00:00.000
23 2014-01-26 00:00:00.000 2014-02-22 00:00:00.000
24 2014-02-23 00:00:00.000 2014-03-29 00:00:00.000
報表的用戶希望本財政年度分割成12段,想給在2個參數送入報告,一年將進入我的SQL中的週期數。所以像@ year = 2014 @ period = 1這樣的東西會被收到。我必須寫一些sql來到這張表中,並設定一個週期開始日期爲31/03/2014,週期結束日期爲27/04/2014。
因此,在僞代碼:
查一查1期2014年和返回31/03/2014期的開始日期和27/04/2014結束日期。
@PERIOD_START_DATE =選擇指定年份從3月份開始的第一個期間。所有財務期從三月份開始。
@PERIOD_END_DATE =從表中選擇相應的END_DATE。
問題是如何開始編碼這個或我的設計方法?我是否應該創建一個計算這個函數的函數,或者我應該做一個CTE並添加一個按照他們想要的方式保存期數的列。
想一想更多,我想我需要一個映射表。所以真正的問題是我可以在沒有映射表的情況下執行此操作嗎?
什麼是你的問題? – 2013-04-23 21:16:48
看起來你的日期在2014年3月份會倒退。仔細檢查一下。 – 2013-04-23 21:18:41
好吧,看起來你的時期是從每個月的最後一個星期天到下一個星期的最後一個星期六。那是對的嗎?如果是這樣,您的示例需要更正。 – 2013-04-23 21:22:30