财务期间的日期时间转换

时间:2019-02-06 20:02:35

标签: sql sql-server

我们系统中的财务期为'201801',如何将其转换为(01/04/2018),其中(2018)是年份,(01)是财务期,但四月不是一月

 so example
 201801 - 01/04/2018
 201802 - 01/05/2018
 201803 - 01/06/2018
 201803 - 01/07/2018
 201803 - 01/08/2018
 201803 - 01/09/2018
 201803 - 01/10/2018
 201803 - 01/11/2018
 201803 - 01/12/2018
 201803 - 01/01/2019
 201803 - 01/02/2019
 201803 - 01/03/2019

我正在使用MSSQL和SSMS

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码:

DECLARE @a INT
SET @a = '201802'
SELECT DATEADD(MONTH, 3, CONVERT(DATETIME,CONCAT(@a,'01')))

201802年获得的输出:

2018-05-01 00:00:00.000

PS:这仅在跨度差为3个月时有效。 (1月-4月)

答案 1 :(得分:1)

您可以添加3个月:

select dateadd(month, 3, datefromparts(left(period, 4), right(period, 2), 1)) as period_start