数据存储:MySQL之各类运算符

it2025-11-01  1

算术运算符

算术运算符只能进行数值的加法,字符串会被当成0处理。

在除法运算和取余运算中,如果除数为0,被视为非法除数,返回结果为null。

+:加法运算 SELECT 'a' + 1 AS addition;

-:减法运算 SELECT 'a' - 1 AS subtraction;

*:乘法运算 SELECT 10 * 9 AS multiplication;

/或DIV:除法运算(DIV是对结果的取整,/是保留小数点后4位) SELECT 10 DIV 9 AS division;

%或MOD:取余运算 SELECT 10 MOD 9 AS surplus;

比较运算符

=:等于(两个值中,任何一个值为null,结果为null) SELECT 1 = 2 AS equal;

<>,!=:不等于 SELECT 1 <> 2 AS notEqual;

>:大于 SELECT 'a' > 'b' AS greater;

<:小于 SELECT 'a' < 'b' AS less;

>=:大于等于 SELECT 'a' >= 'b' AS greaterOrEqual;

<=:小于等于 SELECT 'a' <= 'b' AS lessOrEqual;

BETWEEN...AND...:两值之间 SELECT 'b' BETWEEN'a' AND 'c' AS `between`;

NOT BETWEEN...AND...:不处于两值之间 SELECT 'b' NOT BETWEEN 'a' AND 'c' AS notBetween;

IN:在集合中 SELECT 'd' IN ('a', 'b', 'c', 'd', 'e') AS `in`;

NOT IN:不在集合中 SELECT 'd' NOT IN ('a', 'b', 'c', 'd', 'e') AS notIn;

<=>:严格的等于(两个值均为null时,结果为1,只有一个值为null时,结果为0) SELECT NULL <=> NULL AS equal;

LIKE:模糊匹配 SELECT 'abcde' LIKE 'ab%' AS `like`;

REGEXP,RLIKE:正则匹配 SELECT 'ab111' REGEXP '[0-9]' AS `regexp`;

IS NULL:为空IS NOT NULL:不为空

 

逻辑运算符

NOT 或 !:逻辑非 SELECT NOT 1 AS `not`;

AND:逻辑与 SELECT 1 AND 0 AS `and`;

OR:逻辑或 SELECT 1 OR 0 AS `or`;

XOR:逻辑异或 SELECT 1 XOR 1 AS `xor`;

 

位运算符

&:按位与 SELECT 3 & 0 AS `&`;

|:按位或 SELECT 3 | 4 AS `|`;

^:按位异或 SELECT 3 ^ 5 AS `^`;

!:取反 SELECT !0 AS `!`;

<<:左移 SELECT 2 << 1 AS `<<`;

>>:右移 SELECT 3 >> 1 AS `>>`;

 

运算符优先级

:=优先级最低

最新回复(0)