web-dev-qa-db-fra.com

Comment ajouter une chaîne à une valeur de colonne dans MySQL?

J'ai besoin d'une instruction de mise à jour SQL pour mettre à jour un champ particulier de toutes les lignes avec une chaîne "test" à ajouter devant la valeur existante.

Par exemple, si la valeur existante est "try", elle devrait devenir "testtry".

108
santanu

Vous pouvez utiliser la fonction CONCAT pour le faire:

UPDATE tbl SET col=CONCAT('test',col);

Si vous voulez être plus intelligent et ne mettre à jour que les colonnes pour lesquelles le test n’a pas encore été ajouté, essayez

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
235
Paul Dixon
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]
15
Ferdinand Beyer

De nombreuses fonctions de mise à jour des chaînes de caractères dans MySQL semblent fonctionner comme suit: Si un argument est null, la concaténation ou d'autres fonctions renvoient également null. Ainsi, pour mettre à jour un champ avec la valeur null, commencez par le définir sur une valeur non NULL, telle que ''.

Par exemple:

update table set field='' where field is null;
update table set field=concat(field,' append');
7
bvidinli

C'est simple

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
6
soulmerge
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne1) où 1
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne2) où 1
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne2, 'newtring2') où 1

Nous pouvons concattre la même colonne ou aussi une autre colonne de la table.

0
user3419778