将财务期间转换为日期/时间

时间:2019-02-11 19:54:11

标签: sql datetime finance financial

我正在尝试将财务期间转换为日期时间,例如201801 = 01/04/2018

e.g.;
201801 = 01/04/2018
201802 = 01/05/2018
201803 = 01/06/2018
201804 = 01/07/2018
201805 = 01/08/2018
201806 = 01/09/2018
201807 = 01/10/2018
201808 = 01/11/2018
201809 = 01/12/2018
201810 = 01/01/2019
201811 = 01/02/2019
201812 = 01/03/2019

Formula in tableau that works 
DATE(left(str([Period]),4) + "-" + right(str([Period]),2) + "-1")

我在SQL中需要它。尝试使用convert和Cast,但一直收到语法错误。

CONVERT(date,(left(GL_master.period,4)+ '-' +(right(GL_master.period,2)+ 
'-1')),

根据摘要。

1 个答案:

答案 0 :(得分:0)

在我放置“ 201801”的位置上,您应该放置列名-[Period]吗?

select DATEADD(month, 3, CONVERT(date, CONCAT('201801', '01'), 112)) 
                                              ^^^^^^^^
                                              [Period] ?

我们用另一个“ 01”填充201801的“日期”,使其类似于日期格式112,将其转换为日期,并在转换为日期后添加3个月。

 201801 -> 20180101 -> 01/04/2018

此方法也适用于多年滚动

 201812 -> 20181201 -> 01/03/2019