• In your article you say:

    Since this article is focusing on practical uses of PatIndex, I will only be checking to see if the string value contains digits only with the exception of allowing it to begin with a negative sign. I will not include checking to see if the value is within the allowable range of the Int data type.

    But even in your test:

    Select IsNumeric('-4'), PatIndex('%[^0-9]%', '-4'), dbo.fnIsInt('-4')

    It returned 0, so it wasn't doing what you said it was supposed to. (It isn't as simple as just two PatIndex calls.)