欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql server的一个有趣的bit位运算分享

程序员文章站 2023-11-12 14:45:58
sql server中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间。 可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:up...
sql server中没有bool类型,而是用bit类型来表示bool值,估计是为了节省存储空间。

可是要想实现取反操作似乎就麻烦写了,比如类似下面这样的语句是不行的:update category set visible=not visible where id=1,因为visible是bit类型,而不是bool类型。

一个很有趣的问题发生了,我们发现在sql server中的bit类型的数据-1可以表示1,于是我们可以将上面的语句改成:

update category set visible=visible-1 where id=1

呵呵:当然也可以这样写了:update category set visible = 1-visible where id=1,这样就没有-1了,就只有0和1了。