7
votes

Supprimer le dernier caractère de la colonne String dans SQL Server CE

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 '%,';


0 commentaires

3 Réponses :


17
votes

basé sur Cet exemple a pu le faire en utilisant SUBSTRING :

UPDATE myTable
SET col = SUBSTRING(col, 0, LEN(col))
WHERE col LIKE '%,';


1 commentaires

J'ai essayé cela mais n'a pas été travaillé, j'ai utilisé à gauche (col, longueur (col) -1)



0
votes
    UPDATE myTable
    SET col = SUBSTR(col, 0, (LENGTH(col) - 1))
    WHERE col LIKE '%,';

0 commentaires

1
votes

la solution proposée avec l'utilisation de SET COL = SUBSTRING (COL, 0, LEN (COL)) est un peu floue.

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:

Mise à jour MyTable Définir Col = Substring (Col, 1, Len (Col) -1) Où le col comme '%,';

qui montre l'intention du code


0 commentaires