Supprimer le dernier caractère de la chaîne de colonne dans SQL
J'ai ces caractères spéciaux "||~|| " à la fin de chaque valeur dans la colonne X. j'ai besoin de supprimer ces caractères spéciaux.
Droit maintenant, je suis en utilisant cette syntaxe, mais il ne semble pas accomplir la tâche pour toutes les lignes.
set [Customer Num] = substring(ltrim(rtrim([Customer Num])),3,len([Customer Num]))
- Comment peut de temps caractère ~ va se produire dans votre chaîne?
- C'est le caractère '|' présent n'importe où ailleurs dans la chaîne?
LEN([Customer Num])
est de vous donner la longueur de la colonne entière. Mais siLTRIM(RTRIM())
ont eu aucun effet, ce n'est probablement pas la longueur qui vous intéresse. Pouvez-vous donner quelques exemples de valeurs, et dites-nous ce que la définition de la colonne (par exemple, quel type de[n][var]char[(l)]
est-il)?- ||~|| apparaît à la fin de chaque client num] et est de type nvarchar
- avez-vous votre ans.?
Vous devez vous connecter pour publier un commentaire.
Essayer cette option,
--Si vous voulez supprimer char ~ de toute position
--Si vous voulez supprimer le caractère ~ à la Dernière position & existence de char ~ est incompatible
Set @myStr ='amol~'
Si vous cherchez à remplacer ||~|| Ensuite, essayez ceci,
select LEFT(@myStr, len(@myStr) - 5)
. un énorme explication avant que! De toute façon, il vous aidera à tout débutant de SQL.Si vous êtes sûr que vos valeurs de fin avec la Chaîne de caractères Spéciaux, essayez de
Il est préférable, cependant, de protéger contre les Suppressions accidentelles:
Si votre sgbdr prend en charge les expressions régulières, ce qui simplifie (en utilisant Oracle Syntaxe)
En supposant que vous avez à enlever les 3 derniers caractères de Colonnex
Cela fonctionne