Faq/Base/126/fr

From The Document Foundation Wiki
< Faq‎ | Base‎ | 126
Jump to: navigation, search

Comment supprimer des espaces en trop ?

Contexte : on a importé des données "externes" dans une table ; certains champs comprennent des espaces "en trop" au début et/ou à la fin du texte.

Sélection des enregistrements concernés

  • On pourra utiliser une requête sera du type :
 
SELECT "NOM" FROM "Table1" WHERE "NOM" <> TRIM (' ' FROM "NOM" )
  • Explications :
    • La fonction TRIM permet de supprimer un ou des caractères répétés au début et/ou en fin de chaîne. On précise si on désire traiter le début, la fin ou les deux avec les mot-clé LEADING, TRAILING, BOTH. Si aucun de ces mots-clé n'est utilisé BOTH le sera par défaut.
    • Il existe également les fonctions LTRIM et RTRIM qui se limitent à ôter les espaces respectivement à gauche et à droite de l'expression indiquée en paramètre.
    • Ces fonctions peuvent être utilisées en mode Ébauche ou en mode SQL.
    • Dans l'exemple présenté aucun mot-clé n'étant précisé, les espaces supprimés le seront au début et à la fin du champ.
copie d'écran requête en mode ébauche, en haut les enregistrements sélectionnés
Sélectionnés :
1) espace à droite, 2) espace à gauche, 3) espace gauche & droite

Modification des enregistrements concernés

  • On pourra utiliser une requête sera du type :
 
UPDATE "Table1" SET "NOM" = TRIM(both ' ' from "NOM")
  • Explications :
    • Cette instruction est à exécuter via le menu Outils ▸ SQL (ou par macro).
    • Elle remplace pour tous les enregistrements le contenu du champ "Nom" par le même contenu moins les espaces figurant à gauche et à droite.