
La fonction SQL ORACLE TRIM permet d’enlever les espaces qui existent au début et à la fin d’une chaine de caractère
SELECT TRIM(' Bonjour ') FROM DUAL;
TRIM('BONJOUR')
----------------------
Bonjour
Attention, les espaces qui sont au milieu de la chaine ne sont pas supprimer par cette fonction
SELECT LTRIM(' Salut tout le monde ') FROM DUAL;
TRIM('SALUTTOUTLEMONDE')
------------------------
Salut tout le monde
Syntaxe de TRIM en SQL Oracle
TRIM([ LEADING | TRAILING | BOTH ] [caractere FROM] chaine)Sans option, TRIM supprime les espaces en début et en fin de chaîne (BOTH par défaut).
🧪 Envie de pratiquer ? Exécutez les exemples de cet article dans notre SQL Playground gratuit — aucun logiciel à installer.
Exemples pratiques
SELECT TRIM(' Oracle ') FROM DUAL; -- 'Oracle'
SELECT TRIM(LEADING '0' FROM '000123') FROM DUAL; -- '123'
SELECT TRIM(TRAILING '.' FROM 'phrase...') FROM DUAL; -- 'phrase'
SELECT TRIM(BOTH '*' FROM '**texte**') FROM DUAL; -- 'texte'Nettoyer une colonne importée :
UPDATE clients SET nom = TRIM(nom) WHERE nom != TRIM(nom);TRIM, LTRIM et RTRIM : les différences
| Fonction | Action | Peut retirer plusieurs caractères ? |
|---|---|---|
| TRIM | Début et/ou fin | Non — un seul caractère |
| LTRIM | Début (gauche) | Oui — un jeu de caractères |
| RTRIM | Fin (droite) | Oui — un jeu de caractères |
SELECT LTRIM('xy xyOracle', 'xy ') FROM DUAL; -- 'Oracle' (retire x, y et espace)
SELECT RTRIM('Oracle;;,', ';,') FROM DUAL; -- 'Oracle'Retenez : TRIM = un seul caractère, des deux côtés ; LTRIM/RTRIM = un jeu de caractères, d’un seul côté.
Le piège du type CHAR
Une colonne CHAR(10) est complétée par des espaces à droite. TRIM les supprime à l’affichage, mais la comparaison WHERE nom = 'Ali' fonctionne quand même grâce au blank-padded comparison d’Oracle. Avec VARCHAR2, en revanche, les espaces comptent : d’où l’intérêt de nettoyer les données à l’insertion.
