The infamous ISNUMERIC function! It seems helpful at first, but then you wake up…hopefully. Here’s why you should ditch ISNUMERIC and join the TRY_CAST crew:

ISNUMERIC

– Returns true for ‘+’, ‘-‘, and ‘.’
– Thinks hexadecimal strings are numeric (um, ok!)
– Says strings with multiple decimal points are fine

TRY_CAST

– Actually checks if a string can be cast into your required data type
– Returns NULL if it can’t cast correctly
– Works with any data type
– No overflow worries

Need to see it in action? Watch this video.