sql位运算符

哪位前辈,帮忙简单的解释下位运算符的作用,最高举个例子,多谢了,前辈们。... 哪位前辈,帮忙简单的解释下位运算符的作用,最高举个例子,多谢了,前辈们。 展开
 我来答
badkano
推荐于2018-05-10 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
按位运算符
位运算符在两个表达式之间执行位操作,这两个表达式可以为整型数据类型分类中的任何数据类型。

运算符含义
&(按位 AND) 按位 AND(两个操作数)。
|(按位 OR) 按位 OR(两个操作数)。
^(按位互斥 OR) 按位互斥 OR(两个操作数)。

位运算符的操作数可以是整型或二进制字符串数据类型分类中的任何数据类型(但 image 数据类型除外),此外,两个操作数不能同时是二进制字符串数据类型分类中的某种数据类型。下表显示所支持的操作数数据类型。

左边操作数 右边操作数
binary int、smallint 或 tinyint
bit int、smallint、tinyint 或 bit
int int、smallint、tinyint、binary 或 varbinary
smallint int、smallint、tinyint、binary 或 varbinary
tinyint int、smallint、tinyint、binary 或 varbinary
varbinary int、smallint 或 tinyint

SELECT 3 & 9
结果为1
3的二进制:00000011
9的二进制:00001001
按位进行AND操作时,只有第1位上两者都是1,其它位都有一个为0,所以结果为二进制的0001

SELECT 3 | 9
结果为11
按位进行OR操作时,可以认为就是加法运算

SELECT 3 ^ 9
结果为10
3的二进制:00000011
9的二进制:00001001
按位进行异或操作时,只有位上两者不相同(1与0)结果才会是1,如果相同(1与1或0与0)则为0,在这里第一位上都是1,结果为0;第三位上都是0,结果为1;其它为1;所以结果为二进制的1010,也就是十进制的10
标哥课堂
2020-12-29 · 贡献了超过218个回答
知道答主
回答量:218
采纳率:0%
帮助的人:10.4万
展开全部

SQL Server数据中运算符与表达式

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eddie_zou
2013-09-04 · 超过18用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:28.4万
展开全部

我自己的理解就是:位运算符是用来控制,筛选和计算,关键字符串的。

一般会用在check约束,where语句里面。

例如:

stu_no like 'abc[0-9][a-z]___' 
--控制stu_no 第一位一定要是a,第二位一定要是b,第三位一定是C,第四位是在0-9的范围内的数字,第五位是a-z的字母范围内的字母。

select stu_name from stu_marks
where stu_score >= 60 and stu_score <= 100
-- where里面筛选出 成绩大于等于60,小于等于100的学生

update stu_marks set stu_score = stu_score + 5
where stu_score > 55 and stu_score < 60
-- 把成绩高于55并且低于60的学生成绩加5分.

在数据库里面,数据量非常庞大。要实现批量处理数据,就要常用到各种运算符和函数。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式