Dit udtryk er gyldigt, jeg formoder, at du får en værdi, der betragtes som en numerisk af funktionen, men som ikke kan konverteres til et heltal. Prøv følgende...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
Konverteringserklæringen vil blæse op med den fejl, du rapporterer...
Tjek dette spørgsmål ud:T-sql – afgør om værdien er heltal
Nogle flere eksempler på "Numeriske" værdier, der ikke kan konverteres til et heltal
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Tilføj en valgt convert(int,myField)
i begin/end
for at se den faktiske feltværdi, der forårsager fejlen