Seite 1 von 1

Fehler Conversion error from string "".

Verfasst: Di 2. Okt 2018, 15:21
von MiWi
Hallo zusammen,

wenn ich folgendene Befehle ausführe

Select b.adressnr, b.belegnr, b.gesamt,b.datumme ,CAST(k.KDPauschvon AS DATE), CAST(k.KDGenehm AS DATE)
from belegpos b, kunden k
where b.adressnr = k.kundennr
and belegtyp = "V"
and belegart = "LI"
and not (wgr like "test%" or wgr="sens")
and datumme>=CAST(k.KDPauschvon AS DATE)
and datumme<=CAST(k.KDGenehm AS DATE)
order by belegnr;

bekomme ich diese Fehlermeldung:

SQL-Fehler in Schritt 1:
TA_SQL.SelectQuery: Overflow occurred during data type conversion.Conversion error from string "".

Select b.adressnr, b.belegnr, b.gesamt,b.datumme ,CAST(k.KDPauschvon AS DATE), CAST(k.KDGenehm AS DATE)
from belegpos b, kunden k
where b.adressnr = k.kundennr
and belegtyp = "V"
and belegart = "LI"
and not (wgr like "test%" or wgr="sens")
and datumme>=CAST(k.KDPauschvon AS DATE)
and datumme<=CAST(k.KDGenehm AS DATE)
order by belegnr

Füge ich nach "where b.adressnr = k.kundennr" noch den Befehl "and kundennr="10212" ein, läuft das ganze ohne Fehler durch. Die Felder KDPauschvon bzw. KDGenehm haben das Format [VAR]CHAR10 bzw. [VAR]CHAR 15. CAST innerhalb von Select um die Spalten nach den Regel einens Datums sortieren zu können.

Dier SQL Abfrage erfolg innerhalb des Warenwirtschaftssystem GDI mit der Datenbank Firebird 2.5.1.26351 (64-Bit) .

Gruß MiWi

Re: Fehler Conversion error from string "".

Verfasst: Mi 3. Okt 2018, 16:13
von sroland
Hallo Miw,
mache einen
Select ohne Join auf:
Select k.KDPauschvon, k.KDGenehm, k.kundennr
from kunden k

und suche den oder die Datensätze mit dem nicht zu konvertierenden Eintrag.
Denke der Cast geht wegen eines oder mehreren bestimmten Datensätze schief.

Re: Fehler Conversion error from string "".

Verfasst: Mi 3. Okt 2018, 23:24
von bfuerchau
Die Fehlermeldung ist ja eindeutig:
... from String ""

D.h., eines der beiden Castfelder ist leer (nicht NULL) und enthält kein Datum.
Also such mal die Zeilen, die kein Datum haben.

Durch die weitere Einschränkung bist du an den fehlerhaaften Daten nicht vorbeigekommen, daher kein Fehler.

Re: Fehler Conversion error from string "".

Verfasst: Do 4. Okt 2018, 11:08
von MiWi
Danke für die Antworten,

Fehler erkannt, die Datums Felder sind tatsächlich nicht alle gefüllt, da nicht alle Kunden diese Angaben benötigen. Werde jetzt nach einem eindeutigen Wert im Kundenstamm suchen bzw. einen neuen Eintrag anlegen.

Gruß MiWi

Re: Fehler Conversion error from string "".

Verfasst: Fr 5. Okt 2018, 09:40
von bfuerchau
Einfacher wäre u.U.:

select ....
from
belegpos b
inner join kunden k

on b.adressnr = k.kundennr
and k.KDPauschvon > '' and k.KDGenehm > ''

where belegtyp = "V"
...

da die on-Klausel vor der Where-Klausel ausgewertet wird.