【发布时间】:2019-01-28 16:14:54
【问题描述】:
我的财政年度是 01/04/20X0 到 31/03/20X1。因此,当前财政年度从 2018 年 1 月 4 日到 2019 年 3 月 31 日。这缩写为“20X0/X1”或“2018/19”。
我的输出日期是 01/08/2021,格式始终为 dd/mm/yyyy。这对应于“2021/22”财政年度
我需要帮助推导出一个万无一失的公式,以从我的日期或任何给定日期返回财政年度,格式为 dd/mm/yyyy。
我不想使用 Case 语句,因为会有多个波段并且看起来效率不高。
这是我目前正在使用的,但有问题
CAST(YEAR(DATEADD(month, 9, ISNULL(msdate5.[Completion - Revised], msdate5.[Completion - Original])))-1 as nvarchar) + '/' + CAST(YEAR(DATEADD(month, 9, ISNULL( msdate5.[Completion - Revised], msdate5.[Completion - Original]))) as nvarchar)
【问题讨论】:
-
到目前为止你有什么尝试?
-
在声明
(n)varchar、(n)char等时,请务必确保声明长度。 IE。nvarchar(10)。如果你不这样做,你可能会有一些“令人讨厌”的惊喜。
标签: sql sql-server date format financial