1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| WITH Test_nm AS
(
SELECT level AS lvl, round(dbms_random.value(1, 1000), 5) AS nm, round(dbms_random.value(0, 3)) AS nb
FROM dual
connect BY level <= 10
)
SELECT lvl, nm, nb,
to_char(nm, 'FM990' || case nb when 1 then 'D0' when 2 then 'D90' when 3 then 'D990' end) AS nm_char1,
RPAD (TO_CHAR (TRUNC (nm, nb)), LENGTH (CEIL (nm)) + nb + 1, '0' ) AS nm_char2
FROM Test_nm;
LVL NM NB NM_CHAR1 NM_CHAR2
1 114.31413 1 114,3 114,3
2 593.51819 0 594 5930
3 979.01075 1 979,0 97900
4 349.27126 1 349,3 349,2
5 421.77444 1 421,8 421,7
6 351.89864 2 351,90 351,89
7 96.636 2 96,64 96,63
8 380.066 1 380,1 38000
9 437.77706 3 437,777 437,777
10 529.68979 1 529,7 529,6 |
Partager