Możesz użyć funkcji T-SQL TRY_CAST() lub TRY_CONVERT(), jeśli używasz SQL Server 2012, jak wspomina Bacon Bits w komentarzach:
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
Jeśli używasz SQL 2008 R2 lub starszego, będziesz musiał użyć funkcji .NET CLR i zawinąć System.Decimal.TryParse().