Nous avons utilisé une fonction pour faire quelque chose de similaire qui boucle à travers la chaîne, bien que cela était surtout pour supprimer les caractères qui ne sont pas dans les « @ValidCharacters » chaîne. C'était utile pour supprimer tout ce que nous ne voulions pas - habituellement des caractères non alphanumériques, bien que je pense que nous avions aussi de l'espace, des guillemets, des guillemets simples et une poignée d'autres dans cette chaîne. Il était vraiment utilisé pour supprimer les caractères non imprimables qui ont tendance à se faufiler à certains moments, donc peut-être pas parfait pour votre cas, mais peut vous donner quelques idées.
CREATE FUNCTION [dbo].[ufn_RemoveInvalidCharacters]
(@str VARCHAR(8000), @ValidCharacters VARCHAR(8000))
RETURNS VARCHAR(8000)
BEGIN
WHILE PATINDEX('%[^' + @ValidCharacters + ']%',@str) > 0
SET @str=REPLACE(@str, SUBSTRING(@str ,PATINDEX('%[^' + @ValidCharacters +
']%',@str), 1) ,'')
RETURN @str
END
utiliser un autre 'REPLACE':' REPLACE (REMPLACER (T2 [ShipToCode], '&', 'et'), '', ''.) ' – Lamak