Ich bin nicht sehr vertraut mit iseries/DB2. Ich arbeite jedoch auf einer Website, die es als primäre Datenbank verwendet.Warum erhalte ich eine Ausnahme "[SQL0802] Datenkonvertierung von Datenzuordnungsfehler"?
Eine neue Säule wurde zu einer vorhandenen Tabelle kürzlich hinzugefügt. Wenn ich es über AS400 sehen, sehe ich den folgenden Datentyp:
Type: S
Length: 9
Dec: 2
Das sagt mir, es ist ein numerisches Feld mit 6 Stellen vor dem Komma und 2 Stellen nach dem Komma.
Wenn ich abfragen, die Daten mit einem einfachen SELECT (SELECT MYCOL FROM MYTABLE
), bekomme ich ohne Probleme alle Datensätze zurück. Allerdings, wenn ich versuchen, eine DISTINCT
verwenden, GROUP BY
oder ORDER BY
auf derselben Spalte ich die folgende Ausnahme erhalten:
[SQL0802] Data conversion of data mapping error
Ich habe gefolgert, dass mindestens ein Datensatz ungültige Daten hat - was meine DBA Anrufe „blanks“ oder "4 O". Wie ist das möglich? Sollte die Datenbank keine Ausnahme auslösen, wenn versucht wird, ungültige Daten zu dieser Spalte hinzuzufügen?
Gibt es eine Möglichkeit, um diesen, wie Ausfiltern diese schlechten Aufzeichnungen in meiner Anfrage zu bekommen?
Eine zonierte numerische (9,2) Spalte hätte sieben Stellen vor dem Dezimalpunkt (dh 9 minus 2) – WarrenT
Was ist der Fehlertypcode, der im Text der zweiten Ebene Ihrer SQL0802-Nachricht angezeigt wird? – WarrenT
@WarrenT "SQLSTATE 22023" –