Salut,
J'ai un programme que j'ai trouvé sur le net et qui va me lister les combinaisons possibles de 5 caractères alphanumériques, genre :
00001
00002
...
00009
0000A
0000B
...
...
AC01E
...
...
ZZZZZ
Exemple d'appel :
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
18
19
20
21
22
23 FUNCTION TO_BASE_36 (nombre INTEGER) RETURN VARCHAR2 IS nb INTEGER; res VARCHAR2(100); BEGIN nb := nombre; WHILE nb >= 36 LOOP res := CHR(MOD(nb,36) + CASE WHEN MOD(nb,36) < 10 THEN 48 ELSE 55 END) || res; nb := FLOOR(nb / 36); END LOOP; res := CHR(MOD(nb,36) + CASE WHEN MOD(nb,36) < 10 THEN 48 ELSE 55 END) || res; res := LPAD(res, 5, '0'); RETURN res; END;
Le souci est que je souhaite démarrer les combinaisons par les lettres au lieu des chiffres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT ROWNUM,LPAD(TO_CHAR(ROWNUM), 5, '0'),to_base_36(ROWNUM) FROM dual connect by level < 36*36*36*36;
0000A
0000B
...
0000Z
00001
00002
...
000A0
000A1
...
AC01E
...
...
99999
J'ai beau essayé mais je trouve pas !!
Est-ce qu'il y a moyen d'avoir ce résultat ?
Mercii
Partager