BLANKS
là một từ khóa SQL * Loader, không phải là thứ bạn có thể sử dụng bên trong decode
Câu lệnh SQL - nó coi nó như một tên cột. Nếu nó thực sự là một chuỗi rỗng (độ dài bằng 0), cũng có thể là trường hợp trong tệp được phân tách, trong decode
bạn có thể sử dụng ''
thay vì BLANKS
; nhưng Oracle vẫn coi đó là null. Trong trường hợp đó, decode
nên thừa và bạn chỉ có thể sử dụng NULLIF
như bạn có cho các cột khác. Nếu chuỗi 'trống' thực sự là một hoặc nhiều khoảng trắng, bạn có thể thực hiện một số thao tác như decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY)
. (Bạn cần mệnh đề mặc định cuối cùng cho decode
dù sao hoặc tất cả các giá trị sẽ chuyển thành null.)