Округление на входе 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 !? */

Порядок параметров не играет роли.
Есть идеи, в чем проблема?

0 ответов

Другие вопросы по тегам