
La fonction SQL ORACLE RPAD permet de compléter un chaine de caractère (char1) par une autre chaine (char2) depuis l’à gauche jusqu’à atteindre une taille donnée (n)
RPAD(char1, n, [char2])
Exemple :
SELECT RPAD('Bonjour', 10, '-') FROM DUAL;
RPAD('BONJOUR',10,'-')
----------------------
Bonjour---
Dans le cas où nous ne spécifions pas le la chaine char2, alors cette dernière et remplacer par Espace
SELECT '|' || RPAD('Bonjour', 10) || '|' FROM DUAL;
'|'||RPAD('BONJOUR',10)||'|'
----------------------------
|Bonjour |
Au cas où le nombre n est inférieur au nombre de caractère de la chaine char1 alors le résultat est les n premiers caractère de la chaine char1
SELECT RPAD('Bonjour', 2, '-') FROM DUAL;
RPAD('BONJOUR',2,'-')
---------------------
Bo
La chaine char2 peut ne pas être qu’un seul caractère :
SELECT RPAD('Bonjour', 12, '+-*') FROM DUAL;
RPAD('BONJOUR',12,'+-*')
------------------------
Bonjour+-*+-
Syntaxe de RPAD en SQL Oracle
RPAD(chaine, longueur_totale [, caractere_de_remplissage])RPAD complète une chaîne à droite jusqu'à atteindre la longueur demandée. Par défaut le remplissage se fait avec des espaces. Si la chaîne dépasse déjà cette longueur, elle est tronquée.
🧪 Envie de pratiquer ? Exécutez les exemples de cet article dans notre SQL Playground gratuit — aucun logiciel à installer.
Exemples pratiques
SELECT RPAD('Oracle', 10, '.') FROM DUAL; -- Oracle....
SELECT RPAD('Oracle', 10) FROM DUAL; -- 'Oracle '
SELECT RPAD('Oracle', 3) FROM DUAL; -- 'Ora' (tronqué)
SELECT RPAD('-', 30, '-') FROM DUAL; -- séparateur de 30 tiretsCas d’usage n°1 — mise en page d’un état texte :
SELECT RPAD(nom, 20, '.') || LPAD(salaire, 8) AS ligne FROM employes;
-- DUPONT.............. 3500Cas d’usage n°2 — export à format fixe (fichiers bancaires, EDI, COBOL) :
SELECT RPAD(code_client, 10) || RPAD(nom, 30) || LPAD(montant, 12, '0') AS ligne_fichier
FROM factures;RPAD vs LPAD : quand utiliser lequel
| Fonction | Complète | Usage typique |
|---|---|---|
| RPAD | à droite | texte, colonnes de largeur fixe, alignement à gauche |
| LPAD | à gauche | nombres, zéros non significatifs (LPAD(id,5,’0′)) |
Les deux se combinent souvent pour centrer ou encadrer une valeur dans un rapport texte.
Erreurs fréquentes
- Troncature silencieuse : aucune erreur si la chaîne dépasse — contrôlez avec LENGTH.
- Colonnes CHAR : déjà complétées par des espaces, RPAD n’a alors aucun effet visible. Appliquez TRIM avant.
- Caractère de remplissage vide :
RPAD(x, 10, '')renvoie NULL.

tahiyati si faycal