SQL里左移位运算怎么实现

2025-12-15 23:08:06
推荐回答(1个)
回答1:

SQL并没有位移运算,代码是可以实现,但不具备位移的性能优势,所以不建议SQL处理位移问题:

declare @i int = 44444 -- integer
declare @n int = 16 -- shift
 
-- Function
declare @m int,@s int
select  @n%=32,@m=power(2,31-@n),@s=@i&@m,@i&=@m-1,@i*=power(2.,@n)
if(@s>0)set @i|=0x80000000
select @i -- -1382285312