2013-07-22 22 views
5

Bir sorguda sonraki 10 basamaklı sayıyı bulmalıyım.oracle'de sonraki 10'a nasıl dönülür?

Yuvarlak (n, -1) kullanmayı deniyorum, ancak en yakın 10 basamağa yuvarlanıyor ancak sonraki 10 haneye ihtiyacım var.

Lütfen bana yardım edin.

select round(5834.6,-1) from dual 

5830 verir ama Ardından "5" eklemek

+1

Toplamı 10'a ekleyin ve toplamı yuvarlaklaştırın. –

cevap

1

5840 gerekir: genel bir çözüm

select round(5834.6 + 5,-1) from dual 
+0

Bu düşündüğüm şeydi, ama http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions135.htm, "ROUND" tarafından kullanılan yuvarlamanın veri türü bağımlılığı olduğunu düşündürüyor ... 4.999 veri tipleri? – fvu

+0

@fvu. . . Veri tipi bağımlılığı, yalnızca değer, bunun yarısı arasında veya bir alt sıra bitinden biraz uzak olduğunda etkindir. Her durumda, Sebas çözümü ihtiyaçlarınızı karşılamalıdır. –

9
select ceil(5834.6/10)*10 from dual 
0

- Kullanım MOD son 10 yer bulmak ve sonra 10 üzeri eklemek sonuç.

select (5834.6 - MOD(5834.6,10)) + 10 from dual; 

Bir sonraki 8. yere ihtiyacınız varsa, herhangi bir "10" yerine "8" ile değiştirin.

İlgili konular