今天介绍的功能需要用到本人之前所写的位操作功能(见本人之前的博文)
--将数据的第 n 位置为 非
--先判断数字 a 的第 n 位是否为 1:
alter function G3(@a int,@n int)
returns int
as
begin
declare @b int;
if dbo.G2(@a,@n)=0 select @b=dbo.G1(@a,@n) else select @b=dbo.G0(@a,@n)
return @b;
end
print dbo.G3(31,0);
print dbo.G3(31,1);
print dbo.G3(31,2);
print dbo.G3(31,3);
print dbo.G3(31,4);
结果:
30
29
27
23
15

本文介绍了一种使用SQL进行位操作的方法,通过自定义函数实现数据的第n位置为非的操作。首先判断数字a的第n位是否为1,然后根据判断结果选择不同的处理方式。通过几个示例展示了该功能的实际应用效果。

2万+

被折叠的 条评论
为什么被折叠?



