运算符
一、算术运算符
-
加减运算
两个整数相加减的结果还是整数
两数中只要有一个数是浮点型,结果就是浮点型
如果需要非数值类型,先尝试转换成数值,如果转换不成功,按0计算
如果遇到NULL,结果也为NULL。
-
乘除运算
一个数乘除 1 结果均为原数
一个数除以整数,不能处尽,结果为浮点数,并保留4个小数位
一个数除以0,结果为NULL
一个数乘或除NULL,结果为NULL。
-
求模
正常求模
二、比较运算符
比较运算符经常被用作SELECT查询语句的条件使用,返回符合条件的结果记录
-
等号运算符 =
如果等号两边的值、字符串或表达式都为字符串,则MySQL按字符串进行比较
如果等号两边的值,一个是整数、一个是字符串,则MySQL会将字符串转换为数字进行比较
如果等号两边的值,有一个是NULL,则比较结果为NULL
-
安全等于运算符 <=>
主要功能:用来对NULL进行判断,两个操作时都是NULL,返回1;有一个不是NULL,返回0。
其它功能与等号运算符相同
-
不等于运算符 <> / !=
有一个操作数为NULL,结果就为NULL
-
空运算符 IS NULL / IS NOT NULL
判断该操作数是否为空值
-
最值运算符 LEAST(值1,值2,… 值n) / GREATEST(值1,值2,… 值n)
当参数为整数或浮点数,返回最小/大值
当参数为字符串时,返回字母表中最靠前/后的字符串
当参数中有NULL时,返回NULL
-
BETWEEN AND 运算符
在两个参数构成的范围之内的值
-
IN / NOT IN 运算符
判断操作数是/不是 该运算符后的参数列表中的某个值
-
LIKE运算符
模糊匹配,用来匹配字符串
% :匹配0个或多个该字符
_ :只能匹配一个任意字符
-
ESCAPE运算符
通过ESCAPE去避开该字符的方式,可以将 ‘ \ ’ 之外的其它字符临时定义为转义字符
ESCAPE 和 ‘ \ ’ 不能同时出现
-- 使用了 '\' 的情况 SELECT job_id FROM jobs WHERE job_id LIKE 'IT\_%'; -- 使用了ESCAPE的情况,与上情况效果相同 SELECT job_id FROM jobs WHERE job_id LIKE 'IT$_%' ESCAPE '$';
-
REGEXP正则表达式
’ ^ ':匹配以它后面的字符开头的字符串
’ $ ':匹配以它前面的字符结尾的字符串
’ . ':匹配任意一个单字符
’ [ . . .] ':匹配在方括号内的任何字符
’ * ':匹配它前面的字符零个或多个
’ + ':匹配它前面的字符一次或多次
<字符串>:匹配包含指定字符串的文本
{n,}:匹配前面的字符至少n次
{n,m}:匹配前面的字符至少n次,至多m次
三、逻辑运算符与位运算符
-
所有的逻辑运算,遇到NULL,结果返回NULL
-
-