Máy chủ SQL không thể lưu trữ NULL trong các cột có độ dài cố định?


8

Tôi đã xem qua tuyên bố này trong tài liệu chính thức của Oracle :

Trong Microsoft SQL Server, chỉ các cột có kiểu dữ liệu có độ dài thay đổi mới có thể lưu trữ giá trị NULL. Khi bạn tạo một cột cho phép các NULL có kiểu dữ liệu có độ dài cố định, cột sẽ tự động được chuyển đổi thành kiểu dữ liệu có độ dài biến đổi hệ thống ...

Tôi chưa bao giờ đọc về điều này trong các tài liệu SQL Server và tôi cũng chưa từng trải qua điều như vậy. Ngược lại: trong SQL Server, các loại dữ liệu có độ dài cố định (như int và float, nhưng cũng có char) được sử dụng rất nhiều và được lưu trữ rất hiệu quả ngay cả khi NULLable.

Có bất kỳ lý do đằng sau tuyên bố này của Oracle?!


Một số thông tin về điều đó ở đây stackoverflow.com/a/13536831/73226 BTW nếu bạn nhấp vào biểu tượng "trở lại" trên liên kết của bạn để đi đến trang trước, nó nói Microsoft SQL Server được sử dụng trong tài liệu này để tham khảo Microsoft SQL Server 6.5, Microsoft SQL Server 7.0 và Microsoft SQL Server 2000 trừ khi có quy định khác.
Martin Smith

Câu trả lời:


5

Chà, đây trường hợp của Sybase, là tổ tiên của SQL Server. Thật không may, tôi không tìm thấy bất kỳ thông tin nào khi thay đổi chính xác này được thực hiện, nhưng theo bài viết này , công cụ đã được viết lại hoàn toàn trong SQL Server 2005. Vì đây không phải là trường hợp của bất kỳ phiên bản SQL Server hiện đại nào, bạn có thể bỏ qua điều này tuyên bố.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.