Pokud používáte SQL Server 2012, můžete použít funkce T-SQL TRY_CAST() nebo TRY_CONVERT(), jak uvádí Bacon Bits v komentářích:
SELECT CASE WHEN TRY_CAST('foo' AS INT) IS NULL THEN 0 ELSE 1 END
SELECT CASE WHEN TRY_CAST(1 AS INT) IS NULL THEN 0 ELSE 1 END
Pokud používáte SQL 2008 R2 nebo starší, budete muset použít funkci .NET CLR a zabalit System.Decimal.TryParse().