-
SQL CASE Anweisung
Hallo zusammen,
ich habe folgendes Problem bei einer SQL Case Anweisung.
Ich habe eine Datei die aus einem CHAR Feld besteht, in diesem einem Feld ist eine Summe für mich entscheidend die ich ohne Problem mit einem Substr ansprechen kann.
Mein Problem ist das ich allerdings mit einer CASE Anweisung entscheiden muss ob es sich um einen Positiven oder negativen Wert handel und in dem Moment behandelt die CASE Anweisung mein CHAR Feld als NUMERIC Feld, was auch nicht weiter schlimm wäre wenn ich die dezimal werte mit angezeigt bekomme.
Frage kann mir jemand helfen wie ein SQL aussehen muss damit ich meinen vollständigen Wert in einer CASE Anweisung angezeigt bekomme
so lautet mein SQL....
Code:
SELECT substr((wert.feld), 57, 9) as Summe , case when
substr((wert.feld), 57, 1) = '-' then substr((wert.feld), 57, 9 )
else 0 end as Negativ_Summe, case when substr((wert.feld), 57, 1)
<> '-' then substr((wert.feld), 57, 9 ) else 0 end as Positiv_Summe
FROM wert
und so ist das Ergebnis
Code:
SUMME NEGATIV_SUMME POSITIV_SUMME
000020,46 0 20
-00214,38 214- 0
000056,78 0 56
-00163,22 163- 0
000524,28 0 524
000456,43 0 456
-00013,98 13- 0
-00117,20 117- 0
-00076,10 76- 0
-00048,03 48- 0
-00048,21 48- 0
-00001,06 1- 0
Vielen Dank im Voraus
-
So ganz verstehe ich die Frage nicht.
Du kannst ein CHAR-Feld auch mit dec(..) casten, wenn garantiert immer ein numerischer Wert enthalten ist:
dec(substr(...), 9, 0)
ggf. vorher auch trimmen:
dec(trim(substr(...)), 9, 0)
-
Versuch's mal so:
Code:
With x as (select Cast(substr(feld, 57, 9) as Dec(9, 2)) Fld, a.*
from Wert a)
Select Fld Summe,
Case When Fld < 0 then Fld else 0 end as Negativ_Summe,
Case When Fld >= 0 Then Fld Else 0 End as Positiv_Summe
From x;
Birgitta
-
Vielen Dank für die Hilfe, funktioniert beides wunderbar
Gruß
Bobou
Similar Threads
-
By Tobse77 in forum NEWSboard Programmierung
Antworten: 12
Letzter Beitrag: 24-09-09, 08:31
-
By steven_r in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 08-08-06, 09:34
-
By klausgkv in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 08-06-06, 13:47
-
By Luisfree in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 19-01-05, 17:42
-
By Cassius in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-03-02, 19:28
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks