Bonjour,
En oracle 10 sous unix, j'ai fait les tests suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SQL> select TO_CHAR('45','000') from dual;
 
TO_C
----
 045
 
SQL> select substr('045',2) from dual;
 
SU
--
45
 
SQL> select SUBSTR(TO_CHAR('45','000'),2) from dual;
 
SUB
---
045
Je m'attendais dans ce dernier cas à avoir 45 et pas 045.

Quelqu'un a t'il une explication ?
Le but de la manoeuvre est de convertir une colonne de type INTEGER en une chaine de caractères complètée par des 0 à gauche, en fonction d'une longueur i connu (ici i=2)
Merci