Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Summe über SUBSTR geht nicht (https://www.delphipraxis.net/87031-summe-ueber-substr-geht-nicht.html)

Andidreas 22. Feb 2007 13:19

Datenbank: DB2 • Zugriff über: Embeded SQL

Summe über SUBSTR geht nicht
 
aloha...

im moment programmier ich ein interface programm, was edi daten aufbereitet...

in einem satz benötige ich das gesamtgewicht eines lieferscheins... dieses haben wir in keiner datei gespeichert, d.h. ich muss irgendwie das gewicht aller positionen zusammfassen bevor ich die sätze gelesen hab...

um dies zu machen wollte ich über SQL und SUM mir das gesamtewicht ermitteln lassen, das problem besteht aber darin, das meine datei nicht in felder getrennt ist, sondern die daten stehen in einem feld, also ich hab einen string von 128 zeichen...

die summe wollt ich wie folgt ermitteln:

SQL-Code:
Select SUM(SubStr(F00001, 41, 4)) From Lib/Dat1
diesen befehl schluckt er aber leider nicht... er bringt immer die meldung "verwendung von sum ungültig"

hat jemand ne idee woran das liegt??? evtl. daran das es sich um ein zeichenfeld handelt und er die summe nicht bilden kann???

ich hoffe mir kann evtl. jemand ein paar tips geben, auch wenns nichts mit delphi am hut hat...

mkinzler 22. Feb 2007 13:22

Re: Summe über SUBSTR geht nicht
 
Substr liefert ja einen (Teil-)String zurück, wie willst du Strings summieren?
Du mußt also die Strings zuerst in nummerische Werte wandeln.

Andidreas 22. Feb 2007 13:34

Re: Summe über SUBSTR geht nicht
 
Zitat:

Zitat von mkinzler
Substr liefert ja einen (Teil-)String zurück, wie willst du Strings summieren?
Du mußt also die Strings zuerst in nummerische Werte wandeln.

ja darauf bin ich gerade auch gekommen...
das doof ist halt, das es sich bei der datei hier um eine sogenannte S36 datei auf der AS/400 handelt (vielleicht kennt das jemand???)
aufjedenfall haben meine kollegen die datei beschreibungen in word angelegt, und die felder immer als alpha, decimal etc. deklariert... aber in der datei wirds als 1 feld alphanumerisch gespeichert und da fällt man am anfang halt drauf rein und denkt ok die stellen sind ja decimal... naja was solls...

so gehts:

SQL-Code:
Select Sum(Decimal(SubStr(F00001, 41, 4))) From Lib/Dat1

thx for help

Andidreas 22. Feb 2007 13:41

Re: Summe über SUBSTR geht nicht
 
ok, ein problem hab ich dennoch!

kann man im decimal befehl kommastellen angeben?

edit:
so gehts schon mal nicht :(

SQL-Code:
Select Sum(Decimal(SubStr(F00001, 41, 4)),4,2) From Lib/Dat1


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz