Если вы хотите удалить все числа из строки, есть несколько возможных способов:
1) чистый TSQL:
например. (не обязательно лучший / самый красивый способ)
DECLARE @Test VARCHAR(50)
SET @Test = 'Test12value8with numbers'
DECLARE @index INTEGER
SELECT @index = PATINDEX('%[0-9]%', @Test)
WHILE (@index > 0)
BEGIN
SET @Test = LEFT(@Test, @index - 1) + RIGHT (@Test, (LEN(@Test) - @index))
SELECT @index = PATINDEX('%[0-9]%', @Test)
END
SELECT @Test
2) Функциональность CLR (SQL 2005+) - создайте функцию CLR для замены (т.е. в .NET) и вызовите эту функцию
3) вообще не выполняйте манипуляцию в SQL, возвращайте данные как есть и оставляйте форматирование / очистку до вызывающего кода (который будет работать лучше при манипуляции со строками).
Третий вариант - тот, который я, естественно, выберу, если только для этого нет веской причины.