Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 合并会计年度_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql 合并会计年度

Sql 合并会计年度,sql,sql-server,sql-server-2012,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 这可能吗?谢谢您可以尝试使用CONCAT和RIGHT功能 Declare @SampleData as Table ( timeof

下面是我目前计算财政年度的方式

case when month(TimeOfCall) >= 4
then year(timeofcall) 
else year(timeofcall) -1
end as Fiscal
我得到的结果是

 Fiscal
 2013
 2014
我希望它看起来像什么

Fiscal
2013/14
2014/15
这可能吗?谢谢

您可以尝试使用CONCAT和RIGHT功能

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    

演示链接:

一种不需要案例的方法是:

两个要点:

它使用日期算法得到会计年度-减去3个月。 它使用datename以字符串形式获取年份。
@崔佛,怎么回来的?2-15年的通话时间?为什么不呢?我刚刚为它添加了演示
select (datename(year, dateadd(month, -3, TimeOfCall)) + '/' +
        right(datename(year, dateadd(month, 12-3, TimeOfCall)), 2)
       ) as fiscalyear