Hola ingleonidas:
La consulta del compañero Libras es correcta, pero no hay necesidad de utilizar una subconsulta, sólo estás haciendo trabajar de más al servidor de BD... simplemente utiliza la función ISNUMERIC en el where:
Código SQL:
Ver originalDECLARE @Temp TABLE (dato VARCHAR(20))
INSERT INTO @Temp VALUES ('1')
INSERT INTO @Temp VALUES ('2')
INSERT INTO @Temp VALUES ('3')
INSERT INTO @Temp VALUES ('--')
SELECT SUM(CONVERT(INT,dato)) AS suma FROM @Temp WHERE isnumeric(dato) = 1
Saludos
Leo.