我想用下面的代碼在SQL上進行位開關的簡單更新。SQL Server 2016浮點值位操作
UPDATE table SET BoolFields = BoolFields + 1.0 WHERE BoolFields & 1.0 <> 1.0
然而,當我在Management Studio中運行這個,我收到
操作數的數據類型浮動是 '&' 操作無效。
有沒有人有線索來解決這個問題,而無需將BooFields從float更改爲其他類型?
編輯
有人評論我的情況並不清楚如此編輯。
條件是我想檢查並查看是否某個位被標記爲一個。 所以我的實際行可以BoolFields & 128.0 <> 128.0
然後
我想SET BoolFields = BoolFields + 128.0
,所以我只是想旗布爾值,只有當它不被標記爲1
如果你可以告訴'update'執行什麼條件,它會有幫助嗎?這個問題還不清楚。 –
請解釋一下,你想達到什麼目的。這聞起來像一個[XY-問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)... – Shnugo
在***浮動***上按位?爲什麼你在所有*上使用float *,但特別是在存儲位時? –