SQL Server中的右移和左移运算符

时间:2016-09-22 15:29:44

标签: c# sql-server operators

在SQL Server中,根据知识不存在移位运算符。

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

  1. 使用数学表达式,我将获得与移位操作员必须给出的输出相同的输出。
  2. OR

    1. 将调用CLR函数来计算右移和左移,因为C#中的移位运算符可用,这将为我提供我期望的输出。
    2. 请建议哪种方式更有效。

1 个答案:

答案 0 :(得分:0)

当然是选项1。

  

带有数学表达式,这将给我与输出相同的输出   移位运算符

单个左移只是2的乘积。重复必要的次数以模拟a << n。 因此,右移是2的整数除。

还有一个不错的骇客,涉及varbinarydescribed in this related answer

即使添加了算术溢出预防功能,二者在性能上都将优于SQL Server CLR托管环境中的非托管/托管过渡。