程序员人生 网站导航

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

栏目:数据库应用时间:2015-08-11 08:41:53
mysql提供的运算符包括算术运算符,比较运算符,逻辑运算符和位运算符。

算数运算符
    包括:+ - * / %
    1、获得各种算数运算后的结果
            select 
                    6+4 '加法',
                    6⑷ '减法',
                    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支持的模式字符以下:
    ^       开始
    $      结尾
    .       任意1个字符
    [字符集合]  集合内的任意1个字符
    [^字符集合] 集合外的任意1个字符
    str1|str2|str3  匹配3个字串的任意1个
    *       匹配字符,0个或1个
    +       匹配字符,包括1个
    字符串{N}  字符串出现N次
    字符串(M,N)    字符串出现最少M次,最多N次
逻辑运算符
    AND(&&)
    OR(||)
    NOT(!)
    XOR
位运算符
    &   |   ~  ^   <<  >>
    BIN()2进制表示
    select 4&5,bin(4&5) '2进制',4&5&6,BIN(4&5&6) '2进制';
    +-----+--------+-------+--------+
    | 4&5 | 2进制 | 4&5&6 | 2进制 |
    +-----+--------+-------+--------+
    |   4 | 100    |     4 | 100    |
    +-----+--------+-------+--------+
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐