首页 > 解决方案 > 在 SQL Server 中将 bigint 转换为 Varbinary

问题描述

我在 SQL 命令下运行并将结果与​​计算器 DEC 与 HEX 输出进行比较。

select CONVERT(VARBINARY(2),65280);

它给了我0xFF00,它在计算器中是正确的。但是当我执行以下命令时:

select CONVERT(VARBINARY(6),894811944210);

它给了我0x0C00000112B5,但是当我在计算器上检查它时,结果应该是 0x00D056F2B512。

有什么我做错了吗?

实际上,我想将 MAC 地址存储在表中。为此,我创建了具有 varbinary(250) 数据类型的列。所以我在插入语句中使用下面的行,而选择命令我得到这个输出 - 0x0C00000112B5

CONVERT(VARBINARY(6),894811944210)

请建议。

标签: sqlsql-server

解决方案


MS Docs int、bigint、smallint 和 tinyint (Transact-SQL)

Bigint 数据类型 - 8 字节

SELECT CONVERT(VARBINARY(8),CAST(894811944210 AS BIGINT));
SELECT CAST(0x000000D056F2B512 AS BIGINT)

0x000000D056F2B512

894811944210

推荐阅读