如何在 SQL Server 中获取整数值的第一个字节?
在 C# 中,我可以使用
BitConverter
: 轻松完成此操作
int x = 383;
var firstByte = BitConverter.GetBytes(x)[0];
Console.WriteLine(x);
// Expected Result: 127
如何在 SQL Server 查询中获得相同的值?
提前致谢
好的,我从 ChatGPT 获得了替代帮助。
DECLARE @num INT;
SET @num = 383;
SELECT @num & 0xFF AS FirstByte; -- Expected result is 127
但我不知道查询背后的理论。
如果您想要第一个字节,可以通过数据类型转换来运行它。像这样:
declare @i int = 383;
select cast(@i as binary(1));
如果您需要将 that 设为 127(在 SQL 中是某种数字数据类型),请将二进制转换的结果转换为tinyint(或任何您想要的)。