Je pense que les réponses données ici sont excellentes, mais j'aimerais ajouter un scénario.
Il m'est arrivé à plusieurs reprises de vouloir retirer un certain nombre de caractères du début d'une chaîne, sans me soucier de sa longueur. Il existe plusieurs façons de le faire avec RIGHT() et SUBSTRING(), mais elles doivent toutes connaître la longueur de la chaîne, ce qui peut parfois ralentir les choses.
J'ai utilisé la fonction STUFF() à la place :
SET @Result = STUFF(@Result, 1, @LengthToRemove, '')
Cela remplace la longueur de la chaîne inutile par une chaîne vide.