SQL Server BINARY(N) 数据类型介绍

BINARY(N) 数据类型是 SQL Server 中的一种数据类型,它用于存储固定长度的二进制数据。

语法

BINARY(N) 数据类型的语法如下:

BINARY [ (n) ]

其中,n 指定要存储的字节数,范围从 1 到 8000。如果未指定 n,则默认为 1。

使用场景

BINARY(N) 数据类型通常用于存储二进制数据,如图像、音频和视频文件。它也可以用于存储加密数据或校验和等固定长度数据。在某些情况下,BINARY(N) 数据类型可能比 VARCHAR(N)VARBINARY(N) 数据类型更适合存储数据,因为它可以提供更好的性能和空间利用率。

示例

以下是两个使用 BINARY(N) 数据类型的示例,这些示例演示了如何在 SQL Server 中创建和使用该数据类型。

示例 1

假设我们有一个包含员工信息的表,其中包括每个员工的照片。我们可以使用以下 SQL 语句来创建该表:

CREATE TABLE employees (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  photo BINARY(5000)
);

在上面的 SQL 语句中,我们使用 BINARY(5000) 数据类型来存储员工照片。现在,我们可以向表中插入一些数据,以便我们可以测试它是否按预期工作。

现在,我们可以使用以下查询来检索 ID 为 1 的员工的照片:

SELECT photo
FROM employees
WHERE id = 1;

运行上面的查询后,我们将得到包含二进制数据的结果集。我们可以使用适当的工具将其转换为图像格式。

示例 2

假设我们有一个需要存储校验和的表,我们可以使用以下 SQL 语句来创建该表:

CREATE TABLE checksums (
  id INT PRIMARY KEY,
  data BINARY(32)
);

在上面的 SQL 语句中,我们使用 BINARY(32) 数据类型来存储 SHA-256 校验和,该校验和由 32 个字节组成。现在,我们可以向表中插入一些数据,以便我们可以测试它是否按预期工作。

现在,我们可以使用以下查询来检索 ID 为 1 的数据的校验和:

SELECT data
FROM checksums
WHERE id = 1;

运行上面的查询后,我们将得到包含二进制数据的结果集,该数据表示 ID 为 1 的数据的 SHA-256 校验和。

结论

BINARY(N) 数据类型在 SQL Server 中用于存储固定长度的二进制数据,它可以提供更好的性能和空间利用率,并且可以用于存储图像、音频、视频文件、加密数据或校验和等数据。使用 BINARY(N) 数据类型时,需要注意指定要存储的字节数,并确保存储的数据与指定的字节数相同。