Oracle SQL altijd decimalen weergeven

Status
Niet open voor verdere reacties.

adjes26

Gebruiker
Lid geworden
4 okt 2003
Berichten
51
Hoi, Ik heb onderstaande query geschreven. De bedoeling is dat gross_weight en gross_volume altijd 3 cijfers achter de komma hebben met als scheidingsteken een punt inplaats van een komma.

Bijvoorbeeld:
  • 32.010
  • 1002.200
  • 2.102

Code:
select 
  internal_order_id, 
  order_status,
  to_char(ROUND(gross_weight,3),'00.000') as gross_weight,
  to_char(ROUND(gross_volume,3),'00.000') as gross_volume     
from 
  orders
where 
  internal_order_id = 1026701

Dit gaat bijna goed. Alleen het getal voor de komma moet nu altijd 2 karakters zijn. Dit is in veel gevallen niet zo. Kan ik hier een wildcard voor gebruiken? Of hoe kan ik dit het beste oplossen?

dank je....!
 
Het getal vóór de komma 2 getallen? Waarom eigenlijk?

Zou je met een CASE kunnen oplossen, gewoon kijken of het kleiner is dan 100, dan heeft het per definitie 2 of minder getallen voor de komma (uiteraard).
 
In plaats van 0 kun je 9 gebruiken:
[sql]SQL> SELECT TO_CHAR( 32.010 , '99999.000' ) v1
2 , TO_CHAR( 1002.200, '99999.000' ) v2
3 , TO_CHAR( 2.102 , '99999.000' ) v3
4 FROM DUAL;

V1 V2 V3
---------- ---------- ----------
32.010 1002.200 2.102

1 row selected.[/sql]
Hou er wel rekening mee dat als het getal voor de komma bijvoorbeeld maximaal 6 posities kan zijn dat je dan in de to_char ook 6 keer een 9 moet vermelden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan