Tôi không quen thuộc với các thư viện/DB2. Tuy nhiên, tôi làm việc trên một trang web sử dụng nó làm cơ sở dữ liệu chính của nó.Tại sao tôi nhận được "[SQL0802] Chuyển đổi dữ liệu của lỗi ánh xạ dữ liệu" ngoại lệ?
Một cột mới gần đây đã được thêm vào bảng hiện có. Khi tôi xem thông qua AS400, tôi thấy loại dữ liệu sau:
Type: S
Length: 9
Dec: 2
Điều này cho tôi biết đây là trường số có 6 chữ số trước dấu thập phân và 2 chữ số sau dấu thập phân.
Khi tôi truy vấn dữ liệu bằng SELECT đơn giản (SELECT MYCOL FROM MYTABLE
), tôi lấy lại tất cả các bản ghi mà không gặp sự cố. Tuy nhiên, khi tôi cố gắng sử dụng một DISTINCT
, GROUP BY
, hoặc ORDER BY
trên cùng cột tôi nhận được ngoại lệ sau đây:
[SQL0802] Data conversion of data mapping error
Tôi đã suy luận rằng ít nhất một bản ghi có dữ liệu không hợp lệ - những gì DBA cuộc gọi của tôi "khoảng trống" hoặc "4 O". Làm thế nào là điều này có thể mặc dù? Cơ sở dữ liệu có nên ném một ngoại lệ khi dữ liệu không hợp lệ được cố gắng thêm vào cột đó không?
Có cách nào để giải quyết vấn đề này, chẳng hạn như lọc ra những bản ghi xấu trong truy vấn của tôi không?
Cột số phân vùng (9,2) sẽ có 7 chữ số ở bên trái dấu thập phân (ví dụ: 9 trừ 2) – WarrenT
Mã loại lỗi được hiển thị trong văn bản cấp thứ hai của thông điệp SQL0802 của bạn là gì? – WarrenT
@WarrenT "SQLSTATE 22023" –