将营业日期分为“月个月”和“年”到单独的列中

时间:2019-01-25 08:41:19

标签: sql-server date

我的商业智能工具在计算差异YOY时会产生很多问题,相反,我正在考虑在数据库中创建一个视图,该视图将允许我减去两列以得出差异。

我正在设法解决此问题的最佳方法,正在测试datepart,转换,对日期进行强制转换,但是我确定我在这方面走错了方向。

select top 1
Business_date,
CONCAT(DATEPART(MM, Business_Date),'-', DATEPART(DD, Business_Date)) as 
DayMonth,
case
when DATEPART(YYYY, Business_Date) = '2019' then 2019
end
from Occupancy_Forecast;

我知道上面的代码并没有给我任何需要的东西,因为我正在尝试找到实现此目的的最佳方法,我正在寻找的是类似于所附的屏幕截图:

我还提供了正在读取的当前表格的屏幕截图,以便您了解当前格式

Required look

Current Table

1 个答案:

答案 0 :(得分:0)

使用有关枢轴的@Larnu语句,我已经能够创建一个包含以下内容的视图,该视图包含以下所需的数据,以提供所需的输出:

select Resort as Resort, Business_Date as Date, [2016], [2017], [2018], [2019], 
[2020] 
from
(select Resort, business_date, DATEPART(YYYY, Business_Date) as Year, ADR
from Occupancy_Forecast
where Business_Date > '2015-12-31') as SourceTable
PIVOT
(
AVG(ADR)
FOR YEAR IN ([2016], [2017], [2018], [2019], [2020] ) 
) as PivotTable