2017-04-26 94 views
0

以下是目前我計算會計年度的方式。會計年度連結

case when month(TimeOfCall) >= 4 
then year(timeofcall) 
else year(timeofcall) -1 
end as Fiscal 

我得到的輸出是這

Fiscal 
2013 
2014 

我想什麼它看起來像

Fiscal 
2013/14 
2014/15 

這可能嗎?感謝

回答

1

您可以用CONCATRIGHT功能試試這個

Declare @SampleData as Table 
(
    timeofcall datetime 
) 

INSERT INTO @SampleData Values ('2014-03-11'), ('2014-04-11') 

SELECT 

CASE 
    WHEN month(TimeOfCall) >= 4 
      THEN CONCAT(year(timeofcall), '/', RIGHT(year(timeofcall) + 1, 2)) 
    ELSE CONCAT(year(timeofcall) -1, '/', RIGHT(year(timeofcall), 2)) 
END as Fiscal 

FROM @SampleData  

演示鏈接:http://rextester.com/KIBG33552你能做到這一點

+0

@ Triv ..如何返回RIGHT(year(timeofcall),2)--- 15? –

+0

爲什麼不呢?我只是添加了演示 – TriV

+0

這似乎適用於我,非常感謝你 – whitz11

0

一種方法不需要case是:

select (datename(year, dateadd(month, -3, TimeOfCall)) + '/' + 
     right(datename(year, dateadd(month, 12-3, TimeOfCall)), 2) 
     ) as fiscalyear 

兩個要點:

  • 這使用日期算術來獲得財年 - 通過減去3個月。
  • 這使用datename()以年份作爲字符串。
+0

關鍵字'右'附近的語法不正確, – whitz11

相關問題