当前位置: 代码迷 >> Sql Server >> 怎样用UPDATE语句使某个字段的值左移1位?该如何处理
  详细解决方案

怎样用UPDATE语句使某个字段的值左移1位?该如何处理

热度:77   发布时间:2016-04-27 15:16:10.0
怎样用UPDATE语句使某个字段的值左移1位?
高位舍去。用*2不行,会报溢出错。
有什么简单的方法?

------解决方案--------------------
SQL code
declare @x int=12345select cast(substring(cast(@x as varchar),2,100) as int) resultresult-----------2345
------解决方案--------------------
T-sql里有位操作,先去掉最高位,再乘以2
假设是个8bit的数字,先和0111 1111做位与(&)然后乘2
------解决方案--------------------
smallint 型

update dbo.testtable set test = (test & 127) * 2;


------解决方案--------------------
用了*2,估计是数值类型
------解决方案--------------------
是不是varchar类型的呢?是不是说截取
  相关解决方案