Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle SQL - Putaran - Setengah

Dokumentasi menunjukkan algoritme yang digunakan :

Jadi Anda dapat memodifikasi versi positif bukan nol:

FLOOR(n * POWER(10, integer) + 0.4) * POWER(10, -integer)
                                 ^

misalnya untuk pembulatan tetap, dan mengabaikan nol/negatif untuk saat ini:

with t (my_number) as (
  select 3.674 from dual
  union all select 3.675 from dual
  union all select 3.676 from dual
)
select my_number,
  floor(my_number * power(10, 2) + 0.4) * power(10, -2) as round_on_number
from  t;

 MY_NUMBER ROUND_ON_NUMBER
---------- ---------------
     3.674            3.67
     3.675            3.67
     3.676            3.68

Anda bisa memasukkan nol/negatif melalui ekspresi kasus; atau tulis fungsi Anda sendiri untuk menanganinya dengan lebih rapi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Siapa yang menemukan istilah simpul DIANA dan bagaimana mereka menghitung 6.000.000 LOC kira-kira 67108864 (2**26) simpul DIANA?

  2. INSERT dan UPDATE catatan menggunakan kursor di oracle

  3. TRIM() Fungsi di Oracle

  4. Mengapa memilih dari prosedur tersimpan tidak didukung dalam database relasional?

  5. Beri tahu saya cara mengakses OracleDB dari Raspberry Pi melalui QUERY