从头开始学MySQL--------算术运算(3)
从头开始学MySQL--------算术运算(3)
5.3.2 算术运算符
保留4位小数。如果除以的是0,那么返回的是NULL。
DROP TABLE IF EXISTS t_operation;CREATE TABLE t_operation( number INT);INSERT INTO t_operation(number) VALUES(10);SELECT number A, number+10 B, number-10 C, number*2 D, number/2 E, number/7 F, number/0 GFROM t_operation;
5.3.3 比较运算符
(1)等于运算符
比较运算符的返回值是0或者1,与NULL运算的结果是NULL。
等于运算符‘=’运算规则: (1)数字与字符串比较的话,字符串会被转换为数字。 (2)任何与NULL进行‘=’运算的表达式,返回值都是NULL。 (3)两边都是字符串的话,就按照字符串进行比较。 在MySQL中,可以把返回值返回给MyBatis框架,用Boolean接收即可。 另外我尝试在Qracle中运行此SQL语句,发现不可以运行通过:[SQL]SELECT 1 = 1 [Err] ORA-00923: FROM keyword not found where expected
SELECT 1=1 , '2'=2 , 1=null ,4=5
(2)安全等于运算符( <=>)
几乎与'='运算一致,区别是 '<=>' 能用来对NULL进行判断,若两者均为NULL,则返回1,否则返回0。
注:在Mysql中,因为与null进行算数运算均返回NULL,所以才引入了 <=>
(3)不等于运算符 <>或者是 !=
用于判断字符串、数字。如果不等于,返回1。如果等于,返回0。如果有NULL进入运算,返回NULL。
(4)其它的大于等于,小于等于等运算符,都一样。且均不能用于判断空NULL,若有NULL进入运算,则返回NULL。
(5)空相关。语法: A IS NULL 、 B IS NOT NULL 、 ISNULL(C);
SELECT sex, name, sex IS NULL, name IS NOT NULL, ISNULL(sex)FROM t_char
(6)BETWEEN AND 运算符
数字在某个区间,字母按照字母表顺序比较。若运算中出现NULL,则返回NULL。
在区间内返回1,不在区间返回0
SELECT 1 BETWEEN 0 AND 10 resultA,'f' BETWEEN 'a' AND 'z' resultB;
(7)LEAST(值1,值2,值3,...,值n)
返回最小值。有空返回NULL,如果是字符串与数字,那么就返回0。
SELECT LEAST(2,3,4) resultA, LEAST('a','b','c') resultB, LEAST(null,2,3) resultC, LEAST(2,3,'a') resultD;
(8)GREATEST 用于与LEAST一样,但是取得是最大值。
(9) IN ()、 NOT IN() 。
在的话,返回1,不在返回0。若IN左侧为NULL或者括号里有NULL,则返回NULL。
SELECT 'a' in ('a','b','c') resultA,0 in ('a',0) resultB,4 in (1 ,2 ,3) resultC;
(10)LIKE
可以使用以下两种通配符
'%'表示匹配一切。 'a%',表示以a开头的任意字符串。 '%a',表示以a结尾的任意字符串。 ‘%a%’,表示包含a的字符串。 '_'表示匹配一个字符。 'a_',匹配以a开头的两位字符串,例如'ab'、'ac'。 'a___'(3个空格),匹配a开头的长度为4的字符串。
SELECT 'a' LIKE '%a%', 'abc' LIKE 'a__', 'abc' LIKE 'a_' , 'abc' LIKE 'ab_';
(11)REGEXP
MySQL提供了正则功能。
(1)'^a' 匹配以a开头的字符串 (2)'a$' 匹配以a结尾的字符串 (3)'。' 匹配任何一个单词 (4)'【abc】'匹配字符串中含有 a或b或c 的字符串 (5)'【a-z】' 匹配从字符a到字符z中任意一个字符的字符串 【0-9】匹配任何数字 (6)' * '匹配零个或多个在它前面的字符。例如 x* 匹配任何数量的x字符。【0-9】*匹配任何数量的数字。
例如
SELECT 'ssky' REGEXP '^s','ssky' REGEXP '$y','ssky' REGEXP '.sky','ssky' REGEXP '[ab]';
5.3.4 逻辑运算符
NOT 或者 ! ,逻辑非。 ! 0 或者 NOT 0 返回 1。 操作非零数字,返回0。有NULL返回NULL。
AND 或者 && 与 NOT 相反。只要有0,返回0。 0 || NULL 返回0。
OR 或者 || 有非零的数字返回1。 1 || NULL 返回1。 0||NULL 返回NULL。
XOR 异或 A XOR B 相当于 ! A && B
SELECT 1 || NULL, 0 || NULL, 1 && NULL, 0 && NULL, !NULL;
.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~