Trước hết, chuỗi null và null không phải lúc nào cũng được Oracle đối xử như nhau. Theo định nghĩa, một chuỗi null là một chuỗi không chứa ký tự. Điều này hoàn toàn không giống như một null. Theo định nghĩa, NULL không có dữ liệu.
Năm hoặc sáu năm trước, chuỗi null được Oracle đối xử khác với null. Trong khi, như null, chuỗi null bằng với mọi thứ và khác với mọi thứ (mà tôi nghĩ là tốt cho null, nhưng hoàn toàn SAI cho chuỗi null), ít nhất độ dài (chuỗi null) sẽ trả về 0, vì nó phải là chuỗi null một chuỗi có độ dài bằng không.
Hiện tại trong Oracle, độ dài (null) trả về null mà tôi đoán là OK, nhưng độ dài (chuỗi null) cũng trả về null hoàn toàn SAI.
Tôi không hiểu tại sao họ quyết định bắt đầu đối xử với hai "giá trị" riêng biệt này như nhau. Chúng có nghĩa là những thứ khác nhau và lập trình viên nên có khả năng hành động theo từng cách khác nhau. Việc họ đã thay đổi phương pháp của họ cho tôi biết rằng họ thực sự không có manh mối về cách xử lý các giá trị này.