Sự hiểu biết của tôi là loại dữ liệu dài có thể lưu trữ chuỗi thực tế (ký tự), trong khi loại dữ liệu thô dài lưu trữ các giá trị nhị phân của chuỗi (ký tự). Đúng không? Bảng có thể chỉ có một cột loại dài không?sự khác nhau giữa các kiểu dữ liệu thô dài và dài trong Oracle là gì?
Trả lời
Các kiểu dữ liệu được mô tả trong tài liệu; LONG
is explained here (hoặc 11gR2 version):
cột DÀI cửa hàng chuỗi ký tự chiều dài thay đổi chứa lên đến 2 GB -1, hoặc 231-1 byte. Cột dài có nhiều đặc điểm của cột VARCHAR2. Bạn có thể sử dụng các cột DÀI để lưu trữ chuỗi văn bản dài.
Và LONG RAW
is here:
Các RAW và DÀI RAW kiểu dữ liệu lưu trữ dữ liệu mà không phải là để được giải thích (có nghĩa là, không rõ ràng chuyển đổi khi di chuyển dữ liệu giữa các hệ thống khác nhau ) bởi Cơ sở dữ liệu Oracle. Các kiểu dữ liệu này là dành cho dữ liệu nhị phân hoặc chuỗi byte. Ví dụ: bạn có thể sử dụng LONG RAW để lưu trữ đồ họa, âm thanh, tài liệu hoặc mảng dữ liệu nhị phân , mà việc giải thích phụ thuộc vào việc sử dụng.
Vì vậy, RAW
hoặc LONG RAW
có thể chứa ký tự đại diện nhị phân, vì vậy có lẽ không hữu ích cho điều đó; có thể chứa bất kỳ dữ liệu nhị phân nào khác - bất kỳ thứ gì không được cho là đại diện cho văn bản.
Từ cùng một phần LONG
:
Một bảng có thể chứa chỉ có một cột LONG.
Tuy nhiên, LONG
được phản đối ủng hộ LOB
(CLOB
hoặc NCLOB
cho văn bản, BLOB
cho mọi thứ khác), vì vậy bạn không nên sử dụng chúng cho công việc mới, và ít nhất cần được xem xét thay thế bất kỳ mà bạn đã có. Một lần nữa từ phần đó trên LONG
:
Không tạo bảng có cột DÀI. Sử dụng các cột LOB (CLOB, NCLOB, BLOB) để thay thế. Cột dài chỉ được hỗ trợ cho tương thích lạc hậu.
Oracle cũng khuyên bạn nên chuyển đổi cột DÀI hiện tại thành LOB cột.
Điều này documentation on migrating from LONG
to LOB
có thể được quan tâm.
- 1. Sự khác nhau giữa mã dài và dài trong mã Android là gì?
- 2. Sự khác nhau giữa độ dài và độ dài() là gì?
- 3. Sự khác nhau giữa các kiểu dữ liệu BLOB và TEXT trong MySQL là gì?
- 4. Sự khác nhau giữa các kiểu dữ liệu cột BOOL và BOOLEAN của MySQL là gì?
- 5. Sự khác nhau giữa Oracle Streams và Thay đổi dữ liệu Capture là gì?
- 6. Sự khác nhau giữa cơ sở dữ liệu và kho dữ liệu là gì?
- 7. Sự khác nhau giữa kiểu dữ liệu-dojo và dojotype là gì?
- 8. Sự khác nhau giữa ODBC và OleDB là gì?
- 9. sự khác biệt giữa lâu dài và dài int
- 10. Sự khác biệt giữa dài và int trong C#?
- 11. Sự khác nhau giữa BYTE và CHAR trong kiểu dữ liệu cột
- 12. Sự khác nhau giữa một kiểu dữ liệu trừu tượng (ADT) và một cấu trúc dữ liệu là gì?
- 13. Sự khác nhau giữa pls_integer và binary_integer là gì?
- 14. Sự khác nhau giữa hàm RANK() và DENSE_RANK() trong oracle là gì?
- 15. Sự khác nhau giữa NHibernate và iBATIS.NET là gì?
- 16. Sự khác nhau giữa các cơ sở dữ liệu triplestores và đồ thị là gì?
- 17. Sự khác nhau giữa "||" là gì và "hoặc" trong Perl?
- 18. Sự khác nhau giữa `ImmutableSortedSet` và fsharp` Set` là gì?
- 19. Sự khác nhau giữa Sprint và Iteration trong Scrum và độ dài của mỗi Sprint là gì?
- 20. Sự khác nhau giữa RSpec và Cucumber là gì?
- 21. Sự khác nhau giữa DECIMAL và NUMERIC
- 22. Sự khác nhau giữa gợi ý kiểu `# ^` và gợi ý kiểu `^` là gì?
- 23. Sự khác nhau giữa con trỏ thô và weak_ptr là gì?
- 24. Sự khác nhau giữa osql, isql và sqlcmd là gì?
- 25. Oracle kiểu dữ liệu timestamp
- 26. Sự khác nhau giữa static_cast và reinterpret_cast là gì?
- 27. sự khác nhau giữa plugin và thư viện là gì?
- 28. Sự khác nhau giữa cstdlib và stdlib.h là gì?
- 29. Sự khác nhau giữa SyncML và CalDAV là gì?
- 30. Sự khác nhau giữa null và System.DBNull.Value là gì?
Các kiểu dữ liệu dài của Oracle chỉ khả dụng cho khả năng tương thích ngược. Nhìn tốt hơn vào các kiểu dữ liệu BLOB/CLOB. – Rene