Bem, no SQL Server 2012 você pode usar o novo TRY_CAST() , mas com o SQL Server 2008, você poderá usar ISNUMERIC() e, em seguida, inclua a manipulação de valores que não passam nesse teste.