1.操作符
2.控制流程函数
操作符:
i.圆括号。。
简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序。。。这个想必大家都熟悉例如 mysql>select 1+(2*3) mysql>select (1+2)*3
ii.比较运算符。
比较运算符就比较多了,并且也很常用..比如
= 等于: mysql > SELECT 1 = 0 ; -> 0 mysql > SELECT ‘ 0 ‘ = 0 ; -> 1 <> , != 不等于: mysql > SELECT ‘ .01 ‘ <> ‘ 0.01 ‘ ; -> 1 mysql > SELECT . 01 <> ‘ 0.01 ‘ ; -> 0 <= 小于或等于: mysql > SELECT 0.1 <= 2 ; -> 1 < 小于: mysql > SELECT 2 < 2 ; -> 0 >= 大于或等于: mysql > SELECT 2 >= 2 ; -> 1 > 大于: mysql > SELECT 2 > 2 ; -> 0 <=> NULL 值安全等于: mysql > SELECT 1 <=> 1 , NULL <=> NULL , 1 <=> NULL ; -> 1 1 0 IS NULL IS NOT NULL 测试一个值是或不是 NULL : mysql > SELECT 1 IS NULL , 0 IS NULL , NULL IS NULL ; -> 0 0 1 mysql > SELECT 1 IS NOT NULL , 0 IS NOT NULL , NULL IS NOT NULL ; -> 1 1 0 expr BETWEEN min AND max 如果 expr 大于或等于 min ,并且 expr 小于或等于 max , BETWEEN 返回 1 ,否则返回 0 。它等价于表达式 ( min <= expr AND expr <= max ) ,只要所有的参数均是相同的类型。 否则类型会依照上面的规则发生转换,但是应用于所有三个参数。注意,在 MySQL 4.0 . 5 之前,参数被转换到 expr 的类型。 mysql > SELECT 1 BETWEEN 2 AND 3 ; -> 0 mysql > SELECT ‘ b ‘ BETWEEN ‘ a ‘ AND ‘ c ‘ ; -> 1 expr IN (value,...) 如果 expr 是 IN 列表中的作一值,它将返回 1 ,否则返回 0 。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 IN 列表完全由常数组成, IN 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行: mysql > SELECT 2 IN ( 0 , 3 , 5 , ‘ wefwf ‘ ); -> 0 mysql > SELECT ‘ wefwf ‘ IN ( 0 , 3 , 5 , ‘ wefwf ‘ ); -> 1
iii.逻辑运算符...
逻辑运算符也很常用并且也很简单...
NOT ! 逻辑非。 如果操作数为 0 ,返回 1 ;如果操作数为非零,返回 0 ;如果操作数为 NOT NULL ,返回 NULL 。 mysql > SELECT NOT 10 ; -> 0 mysql > SELECT NOT 0 ; -> 1 mysql > SELECT ! 1 + 1 ; -> 1 最后一个例子返回 1 ,因为表达式是与 (! 1 ) + 1 一样被计算的。 AND , && 逻辑与..当表达式的两边同时为1的时候,函数表达式才返回true,否则为false.. mysql > SELECT 1 && 1 ; -> 1 mysql > SELECT 1 && 0 ; -> 0 or , || 逻辑或。。当表达式两边同时为0的时候,函数表达式才返回false,否则为true.. mysql > SELECT 1 || 1 ; -> 1 mysql > SELECT 1 || 0 ; -> 1 xor 逻辑异或。。当两边的不同的时候函数表达式返回true,否则返回true..
控制流函数:
IFNULL(expr1,expr2) 如果 expr1 为非 NULL 的,IFNULL() 返回 expr1,否则返回 expr2。IFNULL() 返回一个数字或字符串值 mysql > SELECT IFNULL( 1 , 0 ); -> 1 mysql > SELECT IFNULL( NULL , 10 ); -> 10 如果 expr1 = expr2 为真,返回 NULL ,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END : mysql > SELECT NULLIF ( 1 , 1 ); -> NULL mysql > SELECT NULLIF ( 1 , 2 ); -> 1 -- ------------------------------------------------------------------------------ NULLIF (expr1,expr2) 如果 expr1 = expr2 为真,返回 NULL ,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END : mysql > SELECT NULLIF ( 1 , 1 ); -> NULL mysql > SELECT NULLIF ( 1 , 2 ); -> 1 -- ------------------------------------------------------------------------------ IF (expr1,expr2,expr3) 如果expr1为真,那么将返回expr2的值,否则返回expr3的值 mysql > SELECT IF ( 1 > 2 , 2 , 3 ); -> 3 mysql > SELECT IF ( 1 < 2 , ‘ yes ‘ , ‘ no ‘ ); -> ‘ yes ‘ mysql > SELECT IF (STRCMP( ‘ test ‘ , ‘ test1 ‘ ), ‘ no ‘ , ‘ yes ‘ ); -> ‘ no ‘ 如果expr2和expr3明确的指为null,那么将返回非NULL的类型.. -- ------------------------------------------------------------------------------ CASE value WHEN [ compare-value ] THEN result [ WHEN [compare-value ] THEN result ...] [ ELSE result ] END CASE WHEN [ condition ] THEN result [ WHEN [condition ] THEN result ...] [ ELSE result ] END mysql > SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END ; -> "one" mysql > SELECT CASE WHEN 1 > 0 THEN "true" ELSE "false" END ; -> "true" mysql > SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END ; -> NULL
Mysql学习笔记(三)运算符和控制流函数
标签:
查看更多关于Mysql学习笔记(三)运算符和控制流函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did118878