Итак, вот мой запрос:Ошибка арифметического переполнения преобразования числовой к типу данных VARCHAR
SELECT '$'
+ CONVERT(VARCHAR (6), Cast(Avg(TotalPrice) AS NUMERIC (6, 2))) AS 'Average Price',
'$'
+ CONVERT(VARCHAR (6), Cast(Min(TotalPrice) AS NUMERIC (6, 2))) AS 'Minimum Price',
'$'
+ CONVERT(VARCHAR (6), Cast(Max(TotalPrice) AS NUMERIC (6, 2))) AS 'Maximum Price'
FROM Invoice;
Колонка AVG и MIN столбца работают нормально, но возвращает столбец MAX:
«Ошибка арифметического переполнения преобразования числовой к типу данных varchar "
И я не уверен, почему я получаю сообщение об ошибке.
Почему потребность OP изменить NUMERIC заявление от (6,2) - (8,2)? – DeanOC
Beacuse in NUMERIC (6, 2) (precision = 6) Максимальное общее количество десятичных цифр, которое будет храниться как слева, так и справа от десятичной точки. поэтому точность должна увеличиться. –
Нет никаких признаков того, что MAX (TotalPrice) превышает ЧИСЛЕННЫЙ (6,2). – DeanOC