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了。

本文介绍了 SQL Server 中如何利用 bit 类型表示 bool 值,并通过 bit 类型的 -1 特性进行取反操作。通过示例展示了将 update 语句从使用 bool 类型转换为 bit 类型的方法,包括使用 bit 类型的算术运算进行取反以及避免使用 -1 的替代方法。
428

被折叠的 条评论
为什么被折叠?



