Hola in_rainbows:
La consulta, tal como la pones no te debería regresar como resultado
A, sino
B, pero bueno, esa es otra historia.
Para obtener lo que quieres podrías hacerlo más o menos así:
Código:
select max(campo1) from @Tabla
where isnumeric(campo1) = 1
o convirtiendo también el campo a tipo entero.
Código:
select max(CAST(campo1 as int)) from @Tabla
where isnumeric(campo1) = 1
Es decir, la comparación se va a realizar sólo entre aquellos campos que contienen números.
Saludos
Leo.