Преобразовать финансовый период в дату / время - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь преобразовать финансовый период в дату и время, например, 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 голосов
/ 11 февраля 2019

Куда я поставил «201801», вы должны указать название столбца - [Period]?

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

Мы дополняем вашу «дату» 201801 другой «01», чтобы сделать ее похожей на формат даты112, преобразуйте его в дату и добавьте через 3 месяца после того, как оно превратится в дату.

 201801 -> 20180101 -> 01/04/2018

Этот метод работает и для скользящих лет

 201812 -> 20181201 -> 01/03/2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...