mysql学习笔记之十(mysql运算符)

2015-07-24 11:31:51 · 作者: · 浏览: 3
mysql提供的运算符包含算术运算符,比较运算符,逻辑运算符和位运算符。

算数运算符
    包含:+ - * / %
    1、获取各种算数运算后的结果
            select 
                    6+4 '加法',
                    6-4 '减法',
                    6*4 '乘法',
                    6/4 '除法',
                    6 div 4 '除法',
                    6%4 '求模',
                    6 mod 4  '求模';
        +------+------+------+--------+------+------+------+
        | 加法  | 减法  | 乘法 | 除法    | 除法  | 求模  | 求模  |
        +------+------+------+--------+------+------+------+
        |   10 |    2 |   24 | 1.5000 |    1 |    2 |    2 |
        +------+------+------+--------+------+------+------+        
    2、除了操作数值,还可以操作表中的字段

        select ename '雇员',sale '月工资', sale*12 '年薪' from t_employee;


        select 6/0 '除法',
               6 div 0 '除法',
               6%0 '求模',
               6mod0 '求模';      

        +------+------+------+------+
        | 除法  | 除法  | 求模 | 求模 |
        +------+------+------+------+
        | NULL | NULL | NULL | NULL |
        +------+------+------+------+
比较运算符
    比较运算符包含常用比较运算符和实现特殊功能比较运算符
    常用比较运算符
         >  <   =(<=>)  !=(<>)  >=  <=  
    注意:
        1、=和<=>
            *都可以判断数值,字符串和表达式是否相等,相等返回1.否则返回0;
                select 
                    1=1 '数值比较',
                    'cjgong'='cjgong' '字符串比较',
                    1+2=3+3 '表达式比较',
                    1<=>1 '数值比较',
                    'cjgong'='cjgong' '字符串比较',
                    1+2<=>3+3 '表达式比较';
                +----------+--------------------------------+------------+----------+--------------------------------+------------+
                | 数值比较 | 'cjgong'='cjgong''字符串比较'  | 表达式比较 | 数值比较 | 'cjgong'='cjgong'字符串比较'   | 表达式比较 |
                +----------+--------------------------------+------------+----------+--------------------------------+------------+
                |        1 |                              0 |          0 |        1 |                              0 |          0 |
                +----------+--------------------------------+------------+----------+--------------------------------+------------+
            *在比较字符串是否相等时,=不能操作null,而后者可以。
                mysql>
select null<=>null '<=>符号效果',null=null '=符号效果'; +-------------+-----------+ | <=>符号效果 | =符号效果 | +-------------+-----------+ | 1 | NULL | +-------------+-----------+ 2、!=和<>这两个比较运算符不能操作null 3、>,>=,<,<=比较运算符也不能操作null 特殊运算符 between...and is null in like regexp:正则表达式匹配 正则表达式 mysql支持的模式字符如下: ^ 开始 $ 结尾 . 任意一个字符 [字符集合] 集合内的任意一个字符 [^字符集合] 集合外的任意一个字符 str1|str2|str3 匹配三个字串的任意一个 * 匹配字符,0个或1个 + 匹配字符,包含1个 字符串{N} 字符串出现N次 字符串(M,N) 字符串出现至少M次,最多N次 逻辑运算符 AND(&&) OR(||) NOT(!) XOR 位运算符 & | ~ ^ << >> BIN()二进制表示 select 4&5,bin(4&5) '二进制',4&5&6,BIN(4&5&6) '二进制'; +-----+--------+-------+--------+ | 4&5 | 二进制 | 4&5&6 | 二进制 | +-----+--------+-------+--------+ | 4 | 100 | 4 | 100 | +-----+--------+-------+--------+