-
Das Problem liegt wohl darin, dass Du die Summen nicht explizit auf einen bestimmten Datentyp und länge gecastest hast. Damit kann es vorkommen, dass die automatisch ermittelte Länge größer ist, als das ErgebnisFeld.
Versuchs so:
Code:
SELECT Cast(SUM(ZTEV + ZTAV) as Dec(6, 0))
INTO :SOLLZ :MyIndikator
...
Birgitta
-
Morgen Birgitta,
habe es vorher schon versucht die summen im inneren Select mit Decimal 6, 0 anzugeben, aber leider ohne erwünschten Erfolg.
Leider hat das mit dem Cast auch nicht funktioniert.
Der MyIndikator ist bei dem Fehler auf -2.
Kann ich da irgendetwas rauslesen?
Danke
Tarki
-
Mach mal einen "create table test as (select ...)" um den Typ des Zielfeldes festzustellen.
Wer weiß schon wie SQL genau Ergebnisfelder definiert um den maximal möglichen Ergebniswert aufzunehmen selbst wenn das tatsächliche Ergebnis durchaus kleiner sein kann.
-2 bedeutet nur "Wert zu groß für Zielfeld".
-
Die Ergebnisfelder sind 31 Decimal.
Ich hätte es so versucht, aber bekomme immer noch den Fehler.
Wie definiere ich ZTEV, ZTAV?
Code:
SELECT Cast(SUM(ZTEV + ZTAV) as Dec(6, 0))
INTO :SOLLZ :MyIndikator
...
Decimal( SUM(DISTINCT
CASE WHEN ZTAV = 0 THEN ZTEV ELSE 0 END), 6, 0) AS ZTEV,
...
Danke vielmals
Tarki
-
Und warum definierst Du dann Deine Ausgabe-Felder nicht 31P 0?
Anstatt mit Gewalt in SQL auf 6, 0 konvertieren.
Indikator -2 deutet allerdings auch darauf hin, dass mindesten eines der Felder ungültige numerische Wert beinhaltet (irgend einen krummen Hex-Wert).
Birgitta
-
 Zitat von tarkusch
Die Ergebnisfelder sind 31 Decimal.
Ich hätte es so versucht, aber bekomme immer noch den Fehler.
Wie definiere ich ZTEV, ZTAV?
Code:
SELECT Cast(SUM(ZTEV + ZTAV) as Dec(6, 0))
INTO :SOLLZ :MyIndikator
...
Decimal( SUM(DISTINCT
CASE WHEN ZTAV = 0 THEN ZTEV ELSE 0 END), 6, 0) AS ZTEV,
...
Danke vielmals
Tarki
was haben denn ZTEV und ZTAV in der Tabelle für eine Datenart?
Ein spezifische Eigenart von interaktivem SQL ist das Übergehen von Daten Umsetzungsfehlern (die ominösen Pluszeichen in der Anzeige). Das kann zu Deinem Resultat beitragen, wenn in Daten, die in der Where Klausel wegfallen, aber bei der Berechnung der Ergebnismenge ausgwertet werden, nicht umsetzbare Daten sind.
D*B
Similar Threads
-
By Zupfl50 in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 06-10-04, 22:04
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