服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - 关于SQL Server中bit类型字段增删查改的一些事

关于SQL Server中bit类型字段增删查改的一些事

2020-05-22 15:23MSSQL123 Sql Server

在 SQL Server中,用来处理判断flag的字段,使用bit类型,下面这篇文章主要给大家介绍了关于SQL Server中bit类型字段增删查改的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看“诡异”的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2

当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个字段是bit类型的

  关于SQL Server中bit类型字段增删查改的一些事

如果把这个现象跟BIT类型字段连续起来就不觉得奇怪了。

废话不多,直接上代码看结果就好了。

先建一个测试表

?
1
2
3
4
5
CREATE TABLE TestBIT
(
 Id INT IDENTITY(1,1),
 BitColumn BIT
)

bit类型字段的insert

按照常规来说,bit类型字段只能存0或者1,所以直接inert 0或者1当然是没有问题的。

关于SQL Server中bit类型字段增删查改的一些事

因为bit代表的是真假值,在insert时候赋字符串的false或者true也是没有问题的

关于SQL Server中bit类型字段增删查改的一些事

当然文本仅仅支持false或者true这两个字符串,其他都会报错,从报错中也会发现,在insert的时候有一个隐式转换

关于SQL Server中bit类型字段增删查改的一些事

对于数值型的数据:当执行插入一个非0或者1的数值的时候,也是会插入成功的,但是(非0的值)插入后的值被隐式转换为1了

插入非0的数值,均被转换为1,也就是true

关于SQL Server中bit类型字段增删查改的一些事

bit类型字段的更新操作  

执行更新操作也一样,如果更新的是数值,更新的字符串只能为false或者true

  关于SQL Server中bit类型字段增删查改的一些事

   关于SQL Server中bit类型字段增删查改的一些事

如果更新的是数值,并且这个数值不是0(是整数或者负数),相当于更新bit字段类型为1

  关于SQL Server中bit类型字段增删查改的一些事

  关于SQL Server中bit类型字段增删查改的一些事

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/wy123/p/6872721.html

延伸 · 阅读

精彩推荐