Nie jestem zaznajomiony z działem iseries/DB2. Pracuję jednak na stronie internetowej, która wykorzystuje ją jako główną bazę danych.Dlaczego otrzymuję wyjątek "[SQL0802] Konwersja danych na błąd mapowania danych"?
Nowa kolumna została ostatnio dodana do istniejącej tabeli. Kiedy go zobaczyć poprzez AS400, widzę następujące Typ danych:
Type: S
Length: 9
Dec: 2
to mówi mi, że to pole liczbowe z 6 cyfr przed przecinkiem i 2 cyfr po przecinku.
Kiedy wysyłam zapytanie o dane za pomocą prostego SELECT (SELECT MYCOL FROM MYTABLE
), bez problemu otrzymuję wszystkie rekordy. Jednak, gdy próbuję za pomocą DISTINCT
, GROUP BY
lub ORDER BY
na tej samej kolumnie pojawia się następujący wyjątek:
[SQL0802] Data conversion of data mapping error
mam wnioskować, że przynajmniej jeden rekord ma nieprawidłową danych - co moje rozmowy DBA „półprodukty” lub "4 O". Jak to jest możliwe? Czy baza danych nie powinna generować wyjątku w przypadku próby dodania nieprawidłowych danych do tej kolumny?
Czy mogę obejść ten problem, na przykład odfiltrowując te złe zapisy w moim zapytaniu?
Strefowa kolumna numeryczna (9,2) miałaby 7 cyfr po lewej stronie przecinka dziesiętnego (tj. 9 minus 2) – WarrenT
Jaki jest kod typu błędu przedstawiony w drugim tekście komunikatu SQL0802? – WarrenT
@WarrenT "SQLSTATE 22023" –