/ /連結会計年度 - 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

これは可能ですか?ありがとう

回答:

回答№1は1

あなたはこれを試すことができます 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

デモリンク: http://rextester.com/KIBG33552


回答№2の場合は0

あなたがすることができる1つの方法は必要としません case 次のとおりです。

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

2つの重要な点

  • これは、日付計算を使用して会計年度を取得します - 3か月を差し引くことによって。
  • これは datename() 年を文字列として取得します。