Warum bin ich immer ein "[SQL0802] Daten-Konvertierung von Daten-mapping-Fehler" - Ausnahme?

Ich bin nicht sehr vertraut sind mit iseries/DB2. Jedoch, ich arbeite auf einer website, verwendet es als Ihre primäre Datenbank.

Eine neue Spalte wurde vor kurzem Hinzugefügt, um eine vorhandene Tabelle. Wenn ich es über AS400, sehe ich die folgenden Daten geben:

Type: S
Length: 9
Dec: 2

Dieser sagt mir, es ist ein numerisches Feld mit 6 stellen vor dem Dezimalpunkt und 2 stellen nach dem Komma.

Wenn ich die Abfrage der Daten mit einem einfachen SELECT (SELECT MYCOL FROM MYTABLE), bekomme ich wieder alle Datensätze, ohne ein problem. Jedoch, wenn ich versuche mit einem DISTINCT, GROUP BY oder ORDER BY auf die gleiche Spalte, bekomme ich die folgende exception:

[SQL0802] Data conversion of data mapping error

Habe ich gefolgert, dass mindestens ein Datensatz enthält ungültige Daten - was mein DBA fordert, "Leerzeichen" oder "4 O". Wie ist das möglich obwohl? Sollte nicht die Datenbank eine exception werfen, wenn ungültige Daten wird versucht, die Hinzugefügt werden, die Spalte?

Gibt es eine Möglichkeit, die ich bekommen kann, um dieses, wie das herausfiltern dieser schlechte Datensätze in meiner Abfrage?

Ein Zonen-numeric (9,2) Spalte 7 Ziffern Links vom Dezimalkomma (ie. 9, minus 2)
Was ist die Fehler-Art code, wie in der zweiten Ebene text Ihrer SQL0802 Nachricht?
22023"

InformationsquelleAutor Eric Belair | 2012-10-25

Schreibe einen Kommentar