È possibile utilizzare le funzioni T-SQL TRY_CAST() o TRY_CONVERT() se si esegue SQL Server 2012 come menzionato da Bacon Bits nei commenti:
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
Se stai utilizzando SQL 2008 R2 o versioni precedenti, dovrai utilizzare una funzione CLR .NET e avvolgere System.Decimal.TryParse().