Округление на входе varchar
Я делал некоторые вычисления SQL и обнаружил очень странное поведение. Когда я ROUND
результат 2-х полей округлился вниз вместо UP.
Я проверил типы данных.. один из них double
и один varchar
(не спрашивай).
Тем не менее, поведение странное, я не нахожу логической причины для этого:
select ROUND(3.17 * 450 , 2); /* = 1426.50 */
select ROUND(3.17 * '450', 2); /* = 1426.50 */
select ROUND(3.17 * 450 ); /* = 1427 */
select ROUND(3.17 * '450'); /* = 1426 !? */
Порядок параметров не играет роли.
Есть идеи, в чем проблема?