Microsoft SQL Server hỗ trợ bảy loại dữ liệu riêng biệt. Trong số này, chuỗi nhị phân cho phép dữ liệu được mã hóa được biểu diễn dưới dạng đối tượng nhị phân.
Các kiểu dữ liệu trong danh mục chuỗi nhị phân bao gồm:
- biến bit lưu trữ một bit với giá trị 0, 1 hoặc NULL .
- các biến nhị phân (n) lưu trữ n byte dữ liệu nhị phân có kích thước cố định. Các trường này có thể lưu trữ tối đa 8.000 byte.
- varbinary (n) biến lưu trữ dữ liệu nhị phân chiều dài biến của khoảng n byte. Họ có thể lưu trữ tối đa 8.000 byte.
- varbinary (max) biến lưu trữ dữ liệu nhị phân chiều dài biến của khoảng n byte. Chúng có thể lưu trữ tối đa 2 GB và thực sự lưu trữ độ dài của dữ liệu cộng với hai byte bổ sung.
- biến hình ảnh lưu trữ tối đa 2 GB dữ liệu và thường được sử dụng để lưu trữ bất kỳ loại tệp dữ liệu nào (không chỉ hình ảnh).
Loại hình ảnh được lên kế hoạch cho việc ngừng sử dụng trong bản phát hành SQL Server trong tương lai. Các kỹ sư của Microsoft khuyên bạn nên sử dụng varbinary (max) thay vì các loại hình ảnh để phát triển trong tương lai.
Sử dụng phù hợp
Sử dụng các cột bit khi bạn cần lưu trữ các loại dữ liệu có hoặc không có như được đại diện bởi số 0 và số. Sử dụng các cột nhị phân khi kích thước của các cột tương đối đồng đều. Sử dụng các cột varbinary khi kích thước cột được dự kiến vượt quá 8K hoặc có thể chịu sự thay đổi đáng kể về kích thước cho mỗi bản ghi.
Chuyển đổi
T-SQL — biến thể của SQL được sử dụng trong Microsoft SQL Server —bộ đệm bên phải khi bạn chuyển đổi từ bất kỳ loại chuỗi nào sang kiểu nhị phân hoặc biến thể. Bất kỳ chuyển đổi kiểu nào khác thành kiểu nhị phân sẽ sinh ra một pad trái. Phần đệm này được thực hiện thông qua việc sử dụng các số 0 thập lục phân.
Do chuyển đổi này và rủi ro bị cắt bớt, nếu trường sau chuyển đổi không đủ lớn, có thể các trường được chuyển đổi có thể dẫn đến lỗi số học mà không cần gửi thông báo lỗi.