mysql逻辑运算符有哪些

mysql逻辑运算符有哪些,第1张

mysql中有4类运算符,它们是:

算术运算符

比较运算符

逻辑运算符

位 *** 作运算符

算术 *** 作符

算术 *** 作符是SQL中最基本的 *** 作运算符,主要有一下几种运算符:

+(加)、 -(减)、 *(乘)、 /(除)、 %(求余或者模)

比较运算符

一个比较运算符的结果总是1,0或者是NULL。MySQL中的比较运算符有:

=、<=>、<>(!=)、<=、>=、>、IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN . . . AND. . . 、ISNULL、IN、NOT IN、LIKE、REGEXP

逻辑运算符

逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

逻辑运算符有:

NOT 或者 !

AND 或者 &&

OR 或者 ||

XOR(异或)

位运算符

位运算符是用来对二进制字节中的位进行测试、移位或者测试处理。位运算符有:

位或(|)

位与(&)

位异或(^ )

位左移(<<)

位右移(<<)

位取反(~)

# mysql不支持其它复杂数据库的类似 rank() over 的排名和统计查询# 只能通过变通的子查询和逻辑计算方式来实现,对于中小数据量可以考虑-- rank 排名实现select inline_rownum, aa, cc, amt, orderid FROM(select# logic_cal 只是实现计数器计算的,每次逐条查询时会对比当前 cc 与 @last_cc 是否相同,如果不同则把当前该列值赋于 @last_cc 并重设计数器 @num := 1,否则计数器自加 @num := @num + 1(case when cc <>@last_cc then concat(@last_cc := cc, @num := 1 ) else concat(@last_cc, @num := @num + 1) end ) logic_cal, @num as inline_rownum, aa, cc, amt, orderidfrom tb_rank,( select @last_cc := '') t, # 初始化 @last_cc 为 '', 如要检查的列(基于计数器统计的列)是int型,则初始化为0varchar型初始化为''( select @num := 0 ) t2 # 初始化@num为0order by cc, orderid asc # 排序的方式会影响@num的生成,因为logic_cal是逐行计算的) twhere inline_rownum <= floor(amt*0.8) #限制条数,取常量值或其他order by cc,orderid asc


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7496054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存