Dans SQL Server Compact, j'essaie de supprimer une virgule de fuite provenant d'un Goof qui a affecté plusieurs milliers de lignes d'une colonne code> Nvarchar code>.
UPDATE myTable SET col = LEFT(col, LEN(col)-1) WHERE col LIKE '%,';
3 Réponses :
basé sur Cet exemple a pu le faire en utilisant SUBSTRING :
UPDATE myTable SET col = SUBSTRING(col, 0, LEN(col)) WHERE col LIKE '%,';
J'ai essayé cela mais n'a pas été travaillé, j'ai utilisé à gauche (col, longueur (col) -1) code>
UPDATE myTable SET col = SUBSTR(col, 0, (LENGTH(col) - 1)) WHERE col LIKE '%,';
la solution proposée avec l'utilisation de Ceci fonctionne comme un effet secondaire de la sous-chaîne Second Paramètre Début_position étant "basée" ". Donc, 0 dans ce cas, c'est un peu négatif (vous pouvez également utiliser I.E. -3 et 4 caractères seraient dépouillés à la place de 1).
IMHO, il serait beaucoup plus clair d'utiliser ceci: p>
qui montre l'intention du code p> SET COL = SUBSTRING (COL, 0, LEN (COL)) CODE> est un peu floue. P>
Mise à jour MyTable
Définir Col = Substring (Col, 1, Len (Col) -1)
Où le col comme '%,'; code> p>