您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页MySQL运算符

MySQL运算符

来源:化拓教育网


Mysql运算符主要分为四大类:算术运算符,比较运算符,逻辑运算符,位操作运算符

1:算术运算符

+ - * / %

2:比较运算符:

> , <,=,>=,<=,!=以及in,between and ,is null, greatest ,least,like,regexp等

3.逻辑运算符

逻辑运算符所得的结果均为1(true)0(false),这类运算符有逻辑非(not或者!),

逻辑与(and 或者&&),逻辑或(or或者||),逻辑异或(XOR)

4: 位操作运算符

参与运算的操作数按二进制位进行运算,包括位与(&),位或(|)位非(~)

位异或(^),左移(<<),右移(>>)六种。

算术运算符

【例5.26】创建表tmp14,定义数据类型为INT的字段num,插入值,对num

值进行算术运算:

CREATE table tmp14 ( num INT);

INSERT INTO tmp14 value();

SELECT num, num+10, num-10, num+5-3, num+36.5 FROM tmp14;

【例5.27】对tmp14表中的num进行乘法,除法运算

SELECT num, num *2, num /2, num/3, num%3 FROM tmp14;

【例5.28】用0除num

SELECT num, num / 0, num %0 FROM tmp14;

比较运算符

【例5.29】使用“=”进行相等判断,

SELECT 1=0, '2'=2, 2=2,'0.02'=0, 'b'='b', (1+3) = (2+1),NULL=NULL;

备注:MySQL中会自动转换例如将字符‘2’转换成数字2返回1

【例5.30】使用‘<=>’进行相等的判断,SQL语句如下:

SELECT 1<=>0, '2'<=>2, 2<=>2,'0.02'<=>0, 'b'<=>'b', (1+3) <=> (2+1),NULL<=>NULL;

备注使用安全等于运算符在比较null时返回为1

【例5.31】使用‘<>’和‘!=’进行不相等的判断,SQL语句如下:

SELECT 'good'<>'god', 1<>2, 4!=4, 5.5!=5, (1+3)!=(2+1),NULL<>NULL;

备注:用于判断数字字符串和表达式不相等的判断当Null与Null用<>

比较的时候仍然返回NULL

【例5.32】使用‘<=’进行比较判断,SQL语句如下:

SELECT 'good'<='god', 1<=2, 4<=4, 5.5<=5, (1+3) <= (2+1),NULL<=NULL;

备注:当Null与Null用<=比较的时候仍然返回NULL

【例5.33】使用‘<’进行比较判断,SQL语句如下:

SELECT 'good'<'god', 1<2, 4<4, 5.5<5, (1+3) < (2+1),NULL备注:当Null与Null用<比较的时候仍然返回NULL

【例5.34】使用‘>=’进行比较判断,SQL语句如下:

SELECT 'good'>='god', 1>=2, 4>=4, 5.5>=5, (1+3) >= (2+1),NULL>=NULL;

备注:当Null与Null用>=比较的时候仍然返回NULL

【例5.35】使用‘>’进行比较判断,SQL语句如下:

SELECT 'good'>'god', 1>2, 4>4, 5.5>5, (1+3) > (2+1),NULL>NULL;

备注:当Null与Null用>比较的时候仍然返回NULL

总结:null与null比较 除了安全等于的比较返回为1(真)其他情况下返回NULL

【例5.36】使用IS NULL,ISNULL和IS NOT NULL判断NULL值和非NULL值,SQL语句如下:

SELECT NULL IS NULL, ISNULL(NULL),ISNULL(10), 10 IS NOT NULL;

备注:null 和null 使用is 返回1(真)

【例5.37】使用BETWEEN AND 进行值区间判断,输入SQL语句如下:

SELECT 4 BETWEEN 4 AND 6, 8 BETWEEN 6 AND 8,12 BETWEEN 9 AND 10;

【例5.38】使用LEAST运算符进行大小判断,SQL语句如下:

SELECT least(2,0), least(20.0,3.0,100.5), least('a','c','b'),least(10,NULL);

备注:语法:least(值1,值2,值3)返回最小值 有一个为空,返回空值

【例5.39】使用GREATEST运算符进行大小判断,SQL语句如下:

SELECT greatest(2,0), greatest(20.0,3.0,100.5),

greatest('a','c','b'),greatest(10,NULL);

备注:语法:greatest(值1,值2,值3)返回最大值 有一个为空,返回空值

【例5.40】使用IN,NOT IN运算符进行判断,SQL语句如下:

SELECT 2 IN (1,3,5,'thks'), 'thks' IN (1,3,5,'thks');

备注:当在左侧表达式为null的情况下,或者表中找不到匹配项返回null

【例5.41】存在NULL值时的IN查询,SQL语句如下:

SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks');

备注:当使用in时null在左侧无论右侧组中是否有null都返回null,

当左侧不为空,右侧组中有空值,左侧存在于组中返回1,不存在返回null

左侧和右侧组中都不是null,存在返回1,不存在返回0

【例5.42】使用运算符LIKE进行字符串匹配运算,SQL语句如下:

SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_','stud' LIKE '%d','stud' LIKE 't_ _ _', 's' LIKE NULL;

备注:%匹配任何书目的字符,_只匹配一个字符

【例5.43】使用运算符REGEXP进行字符串匹配运算,SQL语句如下:

SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';

备注:regexp运算符用来匹配字符串

【例5.44】分别使用非运算符“NOT”和“!”进行逻辑判断,SQL语句如下:

SELECT NOT 10, NOT (1-1), NOT -5, NOT NULL, NOT 1 + 1;

备注:当操作数是0时所得值是1,当操作数位非0时所得值也是0当操作数位null所得值为空

【例5.45】分别使用与运算符“AND”和“&&”进行逻辑判断,SQL语句如下:

SELECT 1 AND -1,1 AND 0,1 AND NULL, 0 AND NULL;

备注:当一个或者多个操作数为0时,所得结果为0,其余情况返回null

【例5.46】分别使用或运算符“OR”和“||”进行逻辑判断,SQL语句如下:

SELECT 1 OR -1 OR 0, 1 OR 2,1 OR NULL, 0 OR NULL, NULL OR NULL;

备注:有null但没有非0值时返回null 都是null返回null

非0 和非null都可以看做为true,只有0为false

【例5.47】使用异或运算符“XOR”进行逻辑判断,SQL语句如下:

SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;

备注:a xor b相当于 (a and (not b))或者((not a)and b)

习题:创建表 tmp15 其中包括varchar类型的字段note 和int类型的字段price ,使用运算

符对表中不同的字段进行计算;使用逻辑操作符对数据进行逻辑操作;

1.对tmp15表中的整数值字段price进行算术运算

2.对tmp15中的整型数值字段price进行比较运算

3.判断price值是否落在30~80区间;返回与70,30相比最大的值,判断price是否为IN列表(10, 20, 50, 35)中的某个值

4..对tmp15中的字符串数值字段note进行比较运算,判断表tmp15中note字段是否为空;使用LIKE判断是否以字母'd'开头;使用REGEXP判断是否以字母'y'尾;判断

是否包含字母'g'或者'm'

5.将price字段值与NULL,0进行逻辑运算

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务