MySQL:21---运算符(算术运算符、比较运算符、逻辑运算符、位运算符)

一、算术运算符

  • +、-、*、/(DIV)、%(MOD)
  • /:数学上的除,会有小数点
  • %:除取余。若取余数为0,则返回NULL

二、比较运算符

=:判断是否相等,不是赋值运算符

  • 字符串和数字也可以比较('2'=2,返回1)
  • 若有一个参数为NULL,返回NULL

<=>:判断是否相等,安全的

  • 与=类似,比=多一个功能,可以判断NULL是相等
  • NULL<=>NULL。返回1

<>,!=:不等于,两种形式

如果有NULL,返回NULL

<=、>=:小于等于,大于等于

如果有NULL,返回NULL

>、<:大于、小于

  • 如果有NULL,返回NULL

!>、!<:不等于、不小于

is null()、is not null:判断是否为NULL

  • is null(null);  //返回1
  • 10  is not null;  //返回1

between and:判断是否在区域内

  • 4  between  3  and  5;  //返回1
  • 'b'  between 'a'  and 'z';  //返回1   

least():返回最小值

  • 如果有NULL,返回NULL
  • 参数可以为2个及以上
  • least(2,0);   //返回0
  • least(20,3,100.5);  //返回3
  • least('a','b','c');  //返回a

greatest():返回最大值

  • 如果有NULL,返回NULL
  • 参数可以为2个及以上
  • least(2,0);   //返回2
  • least(20,3,100.5);  //返回100.5
  • least('a','b','c');  //返回c

in、not  in:判断是否在列表中

  • 有NULL返回NULL
  • 2  in (1,3,5,'a');  //返回0
  • 1  in (1,3,5,'a');  //返回1
  • 2  not in (1,3,5,'a');  //返回1
  • 1   not in (1,3,5,'a');  //返回0

like:匹配字符串

  • %:表示任何数目的字符,包括零字符
  • _:只能匹配一个字符
  • 有NULL返回NULL
  • 'stud'  like  'stud';  //返回1
  • 'stud'  like  'stu_';  //返回1
  • 'stud'  like  '%d';    //返回1
  • 'stud'  like  't__';   //返回0
  • 'stud'  like  's___';   //返回1(有3个_)

regexp:匹配字符串

  • ^:匹配以^字符后面的字符开头的字符串
  • $:匹配以$字符前面的字符结尾的字符串
  • .  :匹配任何一个单字符
  • [...]:匹配在[]内的任何字符
  • *   :匹配任何0个或多个在它前面的字符。x*(匹配任何数量的*字符),[0-9]*(匹配任何数量的数字),*(匹配任何字符)
  • 'ssky'  regexp  '^s';   //返回1
  • 'ssky'  regexp  'y$';  //返回1
  • 'ssky'  regexp  '.sky';  //返回1
  • 'ssky'  regexp  '[ab]';   //返回0

三、逻辑运算符

not、!:逻辑非

  • not  10;  //返回
  • not  (1-1);  //返回1
  • not  -5;  //返回0
  • not  1+1;  //返回0
  • !10;  //返回1
  • !(1-1);  //返回1
  • !NULL;    //返回NULL

and、&&:逻辑与

  • 1  and  -1;  //返回1
  • 0  and  1;  //返回0
  • 0  and  NULL;  //返回0
  • 1  && -1;  //返回1
  • 0  && 1;  //返回0
  • 1  &&  NULL;  //返回NULL

or、|| :逻辑或

  • 1  or  -1;  //返回1
  • 0  ||  0:  //返回0
  • NULL  or  NULL;  //返回NULL
  • 0  or  NULL;  //返回NULL
  • 1  ||  NULL;  //返回NULL
  • 0  ||  1;  //返回1

xor:逻辑异或

  • 两个操作数相同为0
  • 两个操作数不同为1
  • 有NULL就返回NULL
  • 1  xor  1;  //返回0
  • 0  xor  0;  //返回0
  • 1  xor  0;  //返回1

四、位运算符

 :位或

&:位与

^:位异或

<<:位左移

>>:位右移

~:位取反

五、演示案例

  • 下面用来计算物品的总价

MySQL:21---运算符(算术运算符、比较运算符、逻辑运算符、位运算符)_第1张图片

你可能感兴趣的:(MySQL)