I've no idea what you're saying. The problem is that you expect ISNUMERIC() function to do what it's not design to do. In April 2004 issue of Universal Thread Magazine I published
Improved ISNUMERIC function. It should give you an idea how to create an UDF that suits your requirements.
>You are right. But it is very special.
>
>select cast(cast('5.67' as real) as int)
>select cast(cast('5' as real) as int)
>select cast(cast('-' as real) as int)
>
>
>The first two will work. Last one does work.
>
--sb--