У меня есть представление, которое должно возвращать тип decimal для столбцов, хранящихся как float.
Я могу преобразовать каждый столбец в десятичный формат следующим образом:
, CAST(Field1 as decimal) Field1
Проблема с этим подходом заключается в том, что десятичное значение по умолчанию равно 18,0, что автоматически округляет столбцы с плавающей запятой до 0. Я хотел бы сохранить точность до 12 знаков после запятой.
Однако, если я сделаю это:
, CAST(Field1 as decimal(12,12)) Field1
, я получаю сообщение об ошибке выполнения:
"Arithmetic overflow error converting float to data type numeric"
столбец с плавающей запятой определяется как длина: 8 Точность: 53 в таблице. Я не могу ничего изменить в таблице.
Как правильно преобразовать его в десятичное без потери точности?