SQL Server中的右移和左移操作符

本文关键字:左移 操作符 右移 Server SQL | 更新日期: 2023-09-27 18:08:31

在SQL Server中,根据知识不存在移位操作符

如果我必须实现右移和左移,什么是有效的方法?

  1. 与数学表达式,将给我相同的输出移位运算符必须给出。

  • 将调用CLR函数来计算右移和左移,因为移位操作符在c#中可用,这将给我输出我所期望的。
  • 请建议哪一种方法更有效。

    SQL Server中的右移和左移操作符

    在SQL Server 2022中可以使用

    • LEFT_SHIFT ( expression_value, shift_amount )
    • RIGHT_SHIFT ( expression_value, shift_amount )

    当然是选项一

    的数学表达式,它将给我相同的输出移位操作符

    一次左移只是乘以2。如有必要,可重复模拟a << n。因此,右移是整数除以2。

    还有一个很好的涉及varbinary的hack,在这个相关的答案中描述。

    即使添加了算术溢出预防,在SQL server的CLR托管环境中,任何一种转换都将比非托管/托管转换的性能要好得多。