sql - 在 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)
请建议。
解决方案
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
推荐阅读
- powershell - VSCode Powershell 终端 - 截断行
- r - 用 R 中的组中的非 NA 字符替换一组值的 NA
- c# - 标签未出现在 xamarin 应用 android 设备上
- javascript - 在axios中使用get请求下载文件
- c++ - 获取 std::array 的大小作为 r 值
- svg - 使用带有 SVG 的框架无法使其增长
- python - 是否可以实现一个上下文管理器来处理向 cuda 的张量传输
- node.js - 为什么我的 getServerSideProps 在 Vercel 上返回 404,但在 localhost 上却没有
- mysql - 使用 IN 使用数百个 WHERE 子句提高查询性能
- typescript - 在 Typescript 类成员中进行 Axios 调用