Выбранный ответ работал на меня, пока я не добавил это значение во временную таблицу вместе с другими в образце:
insert #bla values('1234')
Я ожидал, что мой результат max () будет теперь 1234, но он остался на уровне 789. Возможно, это связано с некоторыми настройками сортировки, но я смог воспроизвести на нескольких базах данных. Я обнаружил, что приведенный ниже запрос работает для меня, но мне, безусловно, было бы интересно узнать, есть ли более эффективный способ сделать это. Кроме того, я не хотел включать какие-либо десятичные значения, поэтому я также исключил что-либо с точкой.
SELECT MAX(CAST(Value AS Int)) FROM #bla
WHERE ISNUMERIC(Value)=1
AND Value NOT LIKE '%[a-z]%'
AND Value NOT LIKE '%.%'