Ekspresi Anda valid, saya menduga Anda mendapatkan nilai yang dianggap numerik oleh fungsi, tetapi tidak dapat dikonversi ke bilangan bulat. Coba yang berikut ini...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
Pernyataan konversi akan meledak dengan kesalahan yang Anda laporkan...
Lihat pertanyaan ini:T-sql - tentukan apakah nilainya adalah bilangan bulat
Beberapa contoh nilai "Numerik" lainnya yang tidak dapat dikonversi ke bilangan bulat
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Tambahkan convert(int,myField)
select pilih di begin/end
untuk melihat nilai bidang aktual yang menyebabkan kesalahan terjadi