连接的财政年度

时间:2017-04-26 10:26:21

标签: sql sql-server sql-server-2012

以下是我计算会计年度的方式。

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

我得到的输出是这个

 Fiscal
 2013
 2014

我希望它看起来像什么

Fiscal
2013/14
2014/15

这可能吗?感谢

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以执行的一项不需要jsPlumb-2.0.7.js的方法是:

case

两个要点:

  • 这使用日期算术来获得会计年度 - 减去3个月。
  • 这使用select (datename(year, dateadd(month, -3, TimeOfCall)) + '/' + right(datename(year, dateadd(month, 12-3, TimeOfCall)), 2) ) as fiscalyear 将年份作为字符串。