By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH C AS(
SELECT *
FROM (VALUES('!'),
('"'),
('$'),
('%'),
('&'),
(''''),
('('),
(')'),
('*'),
('+'),
(','),
('.'),
('/'))V(InVCh)),
PS AS (
SELECT *
FROM (VALUES('Prod1','Store1'),
('Pr$od!2','Sto$re!2'),
('P:;()ro!!!"d3','S:;()to!!!"re3')) V(Product,Store))
SELECT REPLACE(TRANSLATE(PS.Product,V.C,REPLICATE(LEFT(V.C,1),LEN(V.C))),LEFT(V.C,1),'') AS Product,
REPLACE(TRANSLATE(PS.Store,V.C,REPLICATE(LEFT(V.C,1),LEN(V.C))),LEFT(V.C,1),'') AS Store
FROM PS
CROSS APPLY (VALUES((SELECT '' + InVCh
FROM C
FOR XML PATH(''),TYPE).value('.','varchar(MAX)')))V(C);
Product | Store |
---|---|
Prod1 | Store1 |
Prod2 | Store2 |
P:;rod3 | S:;tore3 |