Ditt uttryck är giltigt, jag misstänker att du får ett värde som anses vara ett numeriskt värde av funktionen, men som inte kan konverteras till ett heltal. Prova följande...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
Konverteringssatsen kommer att sprängas med felet som du rapporterar...
Kolla in den här frågan:T-sql – avgör om värdet är heltal
Några fler exempel på "Numeriska" värden som inte kan konverteras till ett heltal
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Lägg till en utvald convert(int,myField)
i begin/end
för att se det faktiska fältvärdet som orsakar felet