Puede usar las funciones T-SQL TRY_CAST() o TRY_CONVERT() si está ejecutando SQL Server 2012 como menciona Bacon Bits en los comentarios:
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
Si usa SQL 2008 R2 o anterior, tendrá que usar una función .NET CLR y ajustar System.Decimal.TryParse().