Как заменить конкретный символ в строке

DIG-Master1
Дата: 29.01.2013 14:52:47
Есть произвольная строка вида:

'дней /5/ и /20/'

Надо привести ее к виду:

'дней (5) и (20)'

Че-то не могу понять как заменить первый слеш на скобку '(' а второй на ')'..
Подскажите :)
ZVER-10
Дата: 29.01.2013 14:54:21
DIG-Master1,
а почему такие глаза?
DIG-Master1
Дата: 29.01.2013 14:57:02
ZVER-10,

да сам в шоке, что не пойму такой просто вопрос.

вот координаты первых двух скобок нашел а дальше торможу

select CHARINDEX('/', @string) --первая скобка
select CHARINDEX('/', @string,
CHARINDEX('/', @string)+1
) -- вторая
Cygapb-007
Дата: 29.01.2013 15:05:46
устроит?
select replace(replace('дней /5/ и /20/',' /',' ('),'/',')')
//5//
Дата: 29.01.2013 15:44:33
что нужно делать со строкой вида ?

'дней //5// и //20//'
icprog
Дата: 29.01.2013 15:56:30
//5//,

Соответственно
select replace(replace('дней //5// и //20//',' //',' ('),'//',')')
//5//
Дата: 29.01.2013 16:00:31
icprog
//5//,

Соответственно
select replace(replace('дней //5// и //20//',' //',' ('),'//',')')

а почему не
'дней ((5)) и ((20))'

или
'дней ()5() и ()20()'

?
Cygapb-007
Дата: 29.01.2013 16:10:51
а если ввести обозначение X = зачеркнутая /, то задачу можно расширить до типа такой: из пары задвоенныех / первый зачеркнуть, убрать все зачеркнутые X, результат представить в виде: если перед числом зачеркнуто столько же, сколько после числа, то [5] [20], если исправления не парные, то {5} {20}, а если зачеркиваний не было, то (5) (20)
Гость333
Дата: 29.01.2013 16:20:23
-- Вспомогательная таблица чисел
set nocount on;
declare @numbers table(n int primary key);
declare @i int;
set @i = 1;
while @i <= 1000
begin
   insert @numbers values(@i);
   set @i = @i + 1;
end;

-- Подготовка данных
declare @tab table (id int, string varchar(1000));

insert @tab values(1, 'дней /5/ и /20/');
insert @tab values(2, 'дней /11/ и / 15 / и /30 /   ');
insert @tab values(3, 'дней /2/ и/6/ и /7   ');
insert @tab values(4, '/////');
insert @tab values(5, '<Разные XML-символы> '' " /test/');

-- Преобразование данных
with cte as
(  select t.id, t.string, n.n,
          substring(t.string, n.n, charindex('/', '/' + t.string + '/', n.n + 1) - n.n - 1) as part,
          row_number() over(partition by t.id order by n.n) % 2 as flag
   from @tab t
        inner join @numbers n on n.n <= len(t.string) + 1 and substring('/' + t.string + '/', n.n, 1) = '/'
)
select c.id, c.string, z.new_string
from cte c
     cross apply
     (  select stuff
               ( ( select case when c1.flag = 1 then ')' else '(' end + c1.part
                   from cte c1
                   where c1.id = c.id
                   order by c.n
                   for xml path(''), type
                 ).value('.', 'varchar(max)'),
                 1, 1, ''
               ) new_string
     ) z
where c.n = 1;
DIG-Master
Дата: 29.01.2013 16:28:05
Гость333, Спасибо огромное! офигеть