sql - Round a number and keep trailing zeroes in oracle -


okay, (say) have number 7836.721. want oracle query can give me following result :

7837.000 

the number should rounded one's place , digits after decimal converted zeros.

what have used :

select round(7836.721,0) dual 

which gave me :

7837 

any appreciated.

sounds need to_char...

select to_char(trunc(7836.721), '9999990.000') numbr   dual;  numbr ------------     7837.000 

this assume you're after 3 decimal places number, rather 7.12 going 7.00.


eta:

it seems strange requirement, here go:

with sample_data (select 123 numbr dual union                      select 123.12 numbr dual union                      select 123.1234 numbr dual union                      select 123.12345 numbr dual union                      select 0.12345 numbr dual union                      select 1.2345678901234567890123456789012345678901234567890123e50 numbr dual union                      select null numbr dual union                      select 1.23e-50 numbr dual) select numbr,        round(numbr) || case when numbr != trunc(numbr)                                   rpad('.', length(numbr -trunc(numbr)), '0') end new_numbr   sample_data;       numbr new_numbr ---------- --------------------------------------------------------------------------------        123 123     123.12 123.00   123.1234 123.0000  123.12345 123.00000    0.12345 0.00000 1.23456789 1.2345678901234567890123456789012346e+50    1.23e-50 0.000000000000000000000000000000000000000 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -