web-dev-qa-db-fra.com

Comment supprimer tous les espaces d'un champ d'une base de données Postgres dans une requête de mise à jour?

Quelle serait la syntaxe appropriée pour exécuter une requête de mise à jour sur une table afin de supprimer tous les espaces des valeurs d'une colonne?

Ma table s'appelle users et dans la colonne fullname, certaines valeurs ressemblent à 'Adam Noel'. Je souhaite supprimer l'espace afin que la nouvelle valeur soit 'AdamNoel' 

J'ai comme 30k lignes

16
LeoSam
update users
  set fullname = replace(fullname, ' ', '');
commit;
30

Pour supprimer tous les espaces (pas seulement les espaces), on peut utiliser:

update users set fullname = regexp_replace(fullname, '\s', '', 'g');
commit;
4
Rasjid Wilcox

Si c'est une colonne text[], vous pouvez faire quelque chose comme ceci:

UPDATE users SET pets = string_to_array(replace(array_to_string(pets, ';'), ' ', ''), ';');

Avant: {"Big Dog", "Small Cat"}

Après: {"BigDog", "SmallCat"}

1
Westy92

Il suffit d'utiliser le code simple

 REPLACE('some_string', ' ', '')

ou

Replace('some_string', '\s', '')

supprimer tout espace blanc de la chaîne

0
Bassam Faramawi