下記は現在私が会計年度を計算している方法です。
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()
年を文字列として取得します。