将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。
SQL service 执行下面SQL语句报“将 expression 转换为数据类型 nvarchar 时出现算术溢出错误。”:
SELECT Convert(decimal(10,3),((T1.OtherFuelConsumption*0.84)/T2.TEU))
FROM (
SELECT Year,
Period,
TimeGranularityID,
SUM(Performance) AS OtherFuelConsumption
FROM [HyperCubeODS].[KPI].[Performance]
WHERE IndicatorID IN(22,24,25,26)
GROUP BY Year,Period,TimeGranularityID
) T1
INNER JOIN
(
SELECT Year,
Period,
TimeGranularityID,
Performance AS TEU
FROM [HyperCubeODS].[KPI].[Performance]
WHERE IndicatorID = 1
)T2 ON T1.Year = T2.Year AND T1.Period = T2.Period AND T1.TimeGranularityID = T2.TimeGranularityID
WHERE
CONVERT(DATE,CONVERT(NVARCHAR(4),t1.YEAR)+'-'+ CONVERT(NVARCHAR(1),t1.Period *3 )+ '-01') >= '2016-01-01'
AND
CONVERT(DATE,CONVERT(NVARCHAR(4),t1.YEAR)+'-'+ CONVERT(NVARCHAR(1),t1.Period *3 )+'-01') <= '2016-01-31'
应该如何修改?