Hallo Leute,
ich arbeite mit der Sybase DB. Ich habe eine numeric-Spalte (SPALTE_A) --> numeric(16,0), also ohne Nachkommastellen definiert.
In meinem select möchte ich dieses Feld nun berechnen und das Ergbnis mit 2 bzw. 1 Nachkommastelle anzeigen.
Beispiel:
SPALTE_A SPALTE_B
12345 1
45678 2
Wenn SPALTE_B = 1, dann soll SPALTE_A durch 100 geteilt werden mit 2 Nachkommastellen --> 123,45
Wenn SPALTE_B = 2, dann soll SPALTE_A durch 10 geteilt werden mit 1 Nachkommastellen --> 4567,8.
Mit einer case-Anweisung kann ich zwar zwischen Division durch 10 oder 100 unterscheiden, aber mir werden immer zig Nachkommastellen angezeigt und ich habe keinen Plan wie ich die begrenzen kann.
Ich hoffe ihr könnt mir da weiterhelfen!!
Möglich wäre auch eine Lösung, in der ich ab dem Komma nur noch 1 bzw. 2 Stellen anzeigen lassen aber auch hierfür habe ich keine Idee
Danke und Gruß
ich arbeite mit der Sybase DB. Ich habe eine numeric-Spalte (SPALTE_A) --> numeric(16,0), also ohne Nachkommastellen definiert.
In meinem select möchte ich dieses Feld nun berechnen und das Ergbnis mit 2 bzw. 1 Nachkommastelle anzeigen.
Beispiel:
SPALTE_A SPALTE_B
12345 1
45678 2
Wenn SPALTE_B = 1, dann soll SPALTE_A durch 100 geteilt werden mit 2 Nachkommastellen --> 123,45
Wenn SPALTE_B = 2, dann soll SPALTE_A durch 10 geteilt werden mit 1 Nachkommastellen --> 4567,8.
Mit einer case-Anweisung kann ich zwar zwischen Division durch 10 oder 100 unterscheiden, aber mir werden immer zig Nachkommastellen angezeigt und ich habe keinen Plan wie ich die begrenzen kann.
Code:
select case when SPALTE_B = '1' then SPALTE_A / 100 when SPALTE_B = '2' then SPALTE_A / 10 end as SPALTE_A from tabelle
Ich hoffe ihr könnt mir da weiterhelfen!!
Möglich wäre auch eine Lösung, in der ich ab dem Komma nur noch 1 bzw. 2 Stellen anzeigen lassen aber auch hierfür habe ich keine Idee
Danke und Gruß
Comment