Du kan använda T-SQL-funktionerna TRY_CAST() eller TRY_CONVERT() om du kör SQL Server 2012 som Bacon Bits nämner i kommentarerna:
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
Om du använder SQL 2008 R2 eller äldre måste du använda en .NET CLR-funktion och radbryta System.Decimal.TryParse().