Uw uitdrukking is geldig, ik vermoed dat u een waarde krijgt die door de functie als een numeriek wordt beschouwd, maar niet kan worden geconverteerd naar een geheel getal. Probeer het volgende...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
De convert-instructie zal ontploffen met de fout die je rapporteert...
Bekijk deze vraag:T-sql - bepaal of waarde is geheel getal
Nog enkele voorbeelden van "Numerieke" waarden die niet kunnen worden geconverteerd naar een geheel getal
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Voeg een select convert(int,myField)
. toe in de begin/end
om de werkelijke veldwaarde te zien die de fout veroorzaakt