mysql位运算

1、MOD(X1,X2) 求余运算,返回余数同“%”
2、X1 DIV X2  除法运算返回商,同“/”
3、如果除数为0,那么结果为NULL。
4、<=>和= 是一样的,也是用来判断操作数是否相等的。不同的是<=>可以用来判断null,=不能判断null。
例:select null<=>null 结果1
  逻辑运算符
1、与&&或and:所有操作数不为0且不为null时,结果为1,任何一操作数为0,结果为0,存在一个操作数为null且没有操作数为0时,结果返回null。
例:a、-1&&2&&3 结果为1  b、 0&&3 结果为0  c、0&&null 结果为0 d、3&&null结果null
2、或||或者or
例:a、1||-1||null||0结果1 b、3||null结果1 c、0||null结果null d、null||null结果null e、0||0 结果0
3、非!或者not
例:a、!null结果null
4、异或xor:相同为0不同为1,其中任何一个操作数为null结果返回null。mysql中所有大于-1小于1的数字都被视为逻辑0,其他数被视为逻辑1.
例:a、null xor 1结果null b、null xor 0结果null c、3 xor 1结果0 d、1 xor 0结果1 e、0 xor 0 结果0 f、3 xor 0结果1
  位运算符
&按位与 |按位或 ~按位取反 ^按位异或 <<按位左移 >>按位右移
位运算会先将操作数变成二进制数,然后进行位运算,最后再将计算结果从二进制数变回十进制数。
注:位运算操作符必须是十进制,如果是二进制、八进制等,需要通过CONV()函数将操作数转换为十进制。才能进行相应的位运算。

时间: 2024-10-01 05:23:22

mysql位运算的相关文章

mysql位运算的应用

在mysql中,如果某条数据与其它数据存在一对多的关系,一般我们很自然的就会想到建立一个关系表.例如有一个景点信息的数据表,其结构如下: id int(主键) name varchar(景点名) province int(省份) city int(城市) 每个景点包含很多属性,例如适合旅游的月份,我们一般的做法可能有两种:一种是增加一个varchar字段,每个月份之间用一个特殊符号分隔保存,例如“1,2,3,11,12”:另一种方法是建立一个关系表,如下: spots_id int(景点ID)

mysql位运算 数据库设计及应用

1. 基本概念 如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧. 与运算 a & b , 或运算 a | b , 异或运算 a ^ b , 或者 你也可以将 与运算理解为 + 法 例如 1|2 = 3 (1+2 = 3)1|2|4 = 7 (1+2+4 = 7) 将 异或运算理解为 - 法例如 3^2 = 1 (3-2 = 1)3^1 = 2 (3-1 = 2) 最后将 与运算 作为判断例如 3&2 = 1 (3 = 1 + 2, 由 1和2组成 ,所以判断3&

MySQL使用位运算

通常 我们的数据表中 可能会包含各种状态属性, 例如 blog表中,我们需要有字段表示其是否公开,是否有设置密码,是否被管理员封锁,是否被置顶等等. 也会遇到在后期运维中,策划要求增加新的功能而造成你需要增加新的字段.这样会造成后期的维护困难,数据库增大,索引增大的情况. 这时使用位运算就可以巧妙的解决. 例如 -- 公开blog 给status进行或运算UPDATE blog SET status = status | 1;-- 加密blog 给status进行或运算UPDATE blog S

mysql 使用位运算

如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧. 与运算 a & b  , 或运算 a | b ,  异或运算 a ^ b , 或者 你也可以将 与运算理解为 + 法  例如 1|2 = 3   (1+2 = 3)1|2|4 = 7 (1+2+4 = 7) 将 异或运算理解为 - 法例如 3^2 = 1 (3-2 = 1)3^1 = 2  (3-1 = 2) 最后将 与运算 作为判断例如 3&2 = 1    (3 = 1 + 2, 由 1和2组成 ,所以判断3&

位运算

位运算的实际应用场景 http://blog.csdn.net/zmazon/article/details/8262185

POJ 1781 In Danger Joseph环 位运算解法

Joseph环,这次模固定是2.假设不是固定模2,那么一般时间效率是O(n).可是这次由于固定模2,那么能够利用2的特殊性,把时间效率提高到O(1). 规律能够看下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2VuZGVuMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 具体具体解析请看大师Knuth的Concrete m

位运算总结&amp;拾遗

JavaScript 位运算总结&拾遗 最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识. 把一个数变为大于等于该数的最小的2的幂 一个数为2的幂,那么该数的二进制码只有最高位是1. 根据这个性质,我们来举个栗子,比如有数字10,转为二进制码后为: 1 0 1 0 我们只需把 0 bit的位置全部用1填充,然后再把该二进制码加1就ok了.而x | (x + 1)正好可以把最右边的0置为1,可是

Java I/O : Bit Operation 位运算

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 泥瓦匠喜欢Java,文章总是扯扯Java. I/O 基础,就是二进制,也就是Bit. 一.Bit与二进制 什么是Bit(位)呢?位是CPU处理或者数据存储最小的单元.类似于很小很小的开关,一开一关,表示为1或者0.所以,这就是计算机处理任何数据的"细胞",要谨记.

位运算之 C 与或非异或

位运算比较易混: 位运算之 C 与或非异或 与运算:& 两者都为1为1,否则为0 1&1=1,  1&0=0,  0&1=0,  0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1,  1|0 = 1,  0|1 = 1, 0|0 = 0 非运算:~ 1取0,0取1 ~1 = 0, ~0 = 1 ~(10001) = 01110 异或运算:^ 两者相等为0,不等为1(易混淆) 1^1=0, 1^0=1, 0^1=1, 0^0=0 位移操作符:<&