Не понимаю, почему вы хотите заменить, чтобы. и затем все равно разыгрывается как INT ..., нет никакого смысла делать это. Ниже должно работать нормально, пожалуйста, проверьте его.
SELECT CAST(CAST('0.27' AS DECIMAL(5,2)) * 100 as int)
SELECT
POWIERZCHNIA,
CAST((CAST(POWIERZCHNIA AS DECIMAL(5,2)) * 100) as INT)
FROM v_analiza_cechy_produktow
WHERE POWIERZCHNIA IS NOT NULL
РЕДАКТИРОВАТЬ
Это в основном тот же ответ, что и @Larnu, только что использовали CAST вместо CONVERT ...
РЕДАКТИРОВАТЬ
Вы можете использовать функцию ISNUMERIC для проверки POWIERZCHNIA
SELECT
POWIERZCHNIA,
CAST((CAST(POWIERZCHNIA AS DECIMAL(5,2)) * 100) as INT)
FROM v_analiza_cechy_produktow
WHERE IsNumeric(POWIERZCHNIA) = 1
В целом необходимо отметить тип с изолированным ключевым словом в случае, если Вы хотите, предотвращают деривацию. Однако некоторые случаи, это не является соответствующим. Например, Вы хотите позволить типам от Вашего блока происходить из Вашего публично доступного типа, но предотвращать третьих лиц от деривации.
Здесь немного приемов, которые позволяют Вам делать это: