sql >> Database teknologi >  >> RDS >> Oracle

Oracle Bankers regel

Nøjagtig decimalregning er et stort og komplekst emne.

Google 'mike colishaw decimal rounding', hvis du vil læse ahem Oracle om emnet.

Grundlæggende er der mange afrundingsordninger, som er mulige:-

Rund alt ned - standarden på de fleste sprog inklusive C, da Oracle er skrevet i C, det er sandsynligvis derfor, de gør dette.

Afrund alt - sjældent set, men skal indimellem implementeres på grund af obskure markeds- og skatteregler.

Grundlæggende halvrunding - alt over 0,5 runder op, alt andet rundes ned.

Generøs halvrunding - alt under 0,5 runder ned, alt andet rundes op.

Bankers afrunding - Lige tal følger den grundlæggende halvrundingsregel, ulige tal reglen for generøs halvrunding. Dette ses sjældent i faktiske banker, som foretrækker at runde op, hvis pengene kommer deres vej og runde ned, når det går kundens vej.

ORACLE NUMBER er faktisk en ret god Decimal Arithmatic-implementering og er nøjagtig så vidt det rækker.



  1. Er der nogen forskel mellem !=og <> i Oracle Sql?

  2. Er der en funktion til at lukke en mysql forberedt erklæring med PDO?

  3. SQL finding person entry har flest hunde

  4. PHP &MySQL - Sådan viser du den valgte værdi på rullemenuen