Вашият израз е валиден, подозирам, че получавате стойност, която се счита за числова от функцията, но не може да бъде преобразувана в цяло число. Опитайте следното...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
Изявлението за преобразуване ще избухне с грешката, която докладвате...
Вижте този въпрос:T-sql - определете дали стойността е цяло число
Още няколко примера за „числови“ стойности, които не могат да бъдат преобразувани в цяло число
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Добавете избран convert(int,myField)
в begin/end
за да видите действителната стойност на полето, причиняваща възникването на грешката