32.000 не могут быть точно представлены как int из-за десятичных разрядов.Вместо этого, если вам нужно числовое значение с десятичными знаками, вы можете использовать тип данных с плавающей запятой (или числовой).
Select CAST('32.000' as float)
edit: немного неправильно прочитал ваш вопрос.
I'mПредполагая, что SQL пытается, лучше сохранить свои намерения.Когда он читает, что числовое значение, которое вы пытаетесь привести, имеет десятичные значения, оно отклоняется.