A small variant of Tara's IsNumeric solution is to use a LIKE:--Sample Data
DECLARE @T TABLE (column_a CHAR(1))
INSERT @T (column_a)
VALUES ('1'),
(' '),
('.'),
('$'),
('%'),
('^'),
('@'),
('3'),
('a'),
('4'),
('5'),
('7'),
('8'),
('-'),
('=')
SELECT
CASE
WHEN column_a NOT LIKE '[0-9]' THEN 0
ELSE CAST(column_a AS INT)
END
FROM @T
-- OR
SELECT
CASE
WHEN column_a LIKE '[^0-9]' THEN 0
ELSE CAST(column_a AS INT)
END
FROM @T