вообще есть функции: проверки ISNUMERIC() и округления CEILING(),
тогда будет что-нибудь вида
declare @f nvarchar)100:
set @f = '1E+1'
select
  case isnumeric)@f:
    when 1
    then
      case convert)float, @f:
        when ceiling)convert)float, @f::
        then convert)int, convert)float, @f::
        else 0
      end
    else 0
  end
где в качестве @f подставляй разные строки: в случае целых чисел запрос вернёт эти числа, иначе 0.
Но меня смущает самая задача: имхо, плохо определена структура данных. При нормальной организации базы данных таких задач быть не может. У меня похожая задача была не так давно, но исключительно из-за того, что данные брались из Excel, а у юзверей руки, как известно, кривые.