Lỗi bạn gặp phải là do bạn đang làm TO_DATE
trên cột đã là ngày và bạn đang sử dụng mặt nạ định dạng khác với nls_date_format
của mình tham số [1] hoặc vì cột sự kiện_tình huống chứa dữ liệu không phải là số.
Bạn cần phải a) sửa truy vấn của mình để nó không sử dụng TO_DATE trên cột ngày và b) sửa dữ liệu của bạn, nếu event_occression được cho là chỉ là các số.
Và sửa kiểu dữ liệu của cột đó để đảm bảo rằng bạn chỉ có thể lưu trữ số.
[1] Oracle làm gì khi bạn làm:TO_DATE(date_column, non_default_format_mask)
là:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)
Nói chung, nls_date_format
mặc định tham số được đặt thành dd-MON-yy
, vì vậy trong truy vấn của bạn, điều có thể xảy ra là cột ngày của bạn được chuyển đổi thành một chuỗi ở định dạng dd-MON-yy và sau đó bạn chuyển nó trở lại ngày bằng định dạng MMDD. Chuỗi không ở định dạng này, vì vậy bạn gặp lỗi.