по табличке GalinaM ваш запрос прекрасно выполняется
Но вот если воткнуть в данные строку вида '1.1' — то ваш запрос ломается,
а вот такое условие — работает:
WHERE
CASE
--WHEN ISNUMERIC (stringwithnumeric)=1 THEN CAST (stringwithnumeric AS INT)
WHEN ISNUMERIC (stringwithnumeric)=1 THEN convert(int, convert(numeric(19, 3), stringwithnumeric))
ELSE 0
END > 0
ЗЫ отучайтесть использовать CAST — он оставлен для обратной совместимости. Используйте CONVERT