SQL : supprimer la dernière virgule dans la chaîne de
J'ai un texte champ mémo dans la table SQL que j'ai besoin de supprimer le dernier caractère dans le champ si c'est une virgule.
Ainsi, par exemple, si j'ai ces lignes, j'ai besoin de supprimer les virgules de lignes 2 et 4.
INETSHORTD
1 94
2 85,
3 94, 92
4 89, 99, 32,
La sortie serait:
INETSHORTD
94
85
94, 92
89, 99, 32
Des idées?
- vous pouvez poster les mettre ??
Vous devez vous connecter pour publier un commentaire.
À l'aide de
REVERSE
etSTUFF
:Tout d'abord, vous voulez
TRIM
vos données afin de se débarrasser de l'attaque et de fuite des espaces. PuisREVERSE
et de vérifier si le premier caractère est,
. Si elle l'est, le supprimer, sinon ne rien faire. PuisREVERSE
de nouveau. Vous pouvez supprimer le premier personnage en utilisant lesSTUFF(string, 1, 1, '')
.SQL Violon
Cas d'utilisation déclaration si la chaîne se termine , prends-la sous-chaîne à GAUCHE de la fonction et de la longueur - 1
exemple de violon
À l'aide de CHARINDEX (https://msdn.microsoft.com/en-us/library/ms186323.aspx) ET LEN ( https://msdn.microsoft.com/en-us/library/ms190329.aspx ), vous devez être en mesure de le faire comme ceci:
Ce SQL Violon montre à l'œuvre: http://sqlfiddle.com/#!3/a99c8/7.