Tôi có một bảng Oracle và một cột (col1
) có loại varchar2(12 byte)
. Nó có một hàng và giá trị của col1
là 1234
Tôi có thể vượt qua một số cho varchar2 trong Oracle?
Khi tôi nói
select * from table where col1 = 1234
Oracle cho biết số không hợp lệ. Tại sao vậy? Tại sao tôi không thể vượt qua một số khi nó là varchar2
?
CHỈNH SỬA: Tất cả các câu trả lời đều tuyệt vời. Cảm ơn bạn. Nhưng tôi không thể hiểu tại sao nó không mất 1234
khi 1234
là một kiểu dữ liệu varchar2 hợp lệ.
Cảm ơn. do đó, ký tự là 1234, mà oracle đang chuyển đổi hoàn toàn thành một số. SO tại sao lỗi kể từ 1234 là một số hợp lệ? – Victor
Nội dung nào đó trong bảng không phải là số. Oracle để lại 1234 dưới dạng một số. Nó đang cố gắng chuyển đổi giá trị trong cột để khớp. Khi nó tìm thấy một giá trị không phải là một số, nó sẽ phát ra lỗi. – JAQFrost