我想在SQL Server中存储一个字节数组。您建议使用什么数据类型或预先INSERT操作来存储这些?
我不希望这些byte[]
的长度超过1024。
答案 0 :(得分:55)
varbinary(1024)
正是您要找的。 p>
SQL Server中有三种类型用于二进制值存储:
binary(n)
表示长度为n
的固定长度二进制数据。长度可以是1
到8000
varbinary(n)
表示可变长度二进制数据最大长度n
。最大长度可以是1
到8000
以上类型将存储在行数据本身中。
varbinary(max)
,用于存储最大2GB的大二进制值(BLOB)。如果实际值大于8000字节并且指针存储在行本身中,则实际值存储在单独的位置。从SQL Server 2005开始,此类型可用。
image
数据类型用于在SQL Server 2005之前存储BLOB。它已被弃用,而不是varbinary(max)
。 image
的存储位置始终位于数据行之外。