Comment puis-je supprimer le dernier caractère d'une chaîne dans T-SQL?
IE 'TEST STRING'
revenir:
'TEST STRIN'
Comment puis-je supprimer le dernier caractère d'une chaîne dans T-SQL?
IE 'TEST STRING'
revenir:
'TEST STRIN'
Si, pour une raison quelconque, la logique de votre colonne est complexe (cas où ... alors ... sinon ... fin), les solutions ci-dessus vous obligent à répéter la même logique dans la fonction len (). La duplication de la même logique devient un gâchis. Si tel est le cas, il s'agit d'une solution à noter. Cet exemple supprime la dernière virgule indésirable. J'ai finalement trouvé un usage pour la fonction REVERSE.
select reverse(stuff(reverse('a,b,c,d,'), 1, 1, ''))
Si votre chaîne est vide,
DECLARE @String VARCHAR(100)
SET @String = ''
SELECT LEFT(@String, LEN(@String) - 1)
alors ce code provoquera le message d'erreur "Paramètre de longueur non valide transmis à la fonction de sous-chaîne".
Vous pouvez le gérer de cette façon:
SELECT LEFT(@String, NULLIF(LEN(@String)-1,-1))
Il retournera toujours le résultat, et NULL en cas de chaîne vide.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.