首页 > 代码库 > 【转】MYSQL入门学习之六:MYSQL的运算符

【转】MYSQL入门学习之六:MYSQL的运算符

转载地址:http://www.2cto.com/database/201212/175862.html

一、算术运算符
1、加  www.2cto.com  
        mysql> select 1+2;
        +-----+
        | 1+2 |
        +-----+
        |   3 |
        +-----+
2、减
        mysql> select 1-2;
        +-----+
        | 1-2 |
        +-----+
        |  -1 |
        +-----+
3、乘
        mysql> select 2*3;
        +-----+
        | 2*3 |
        +-----+
        |   6 |
        +-----+
4、除
        mysql> select 2/3;
        +--------+
        | 2/3    |
        +--------+
        | 0.6667 |
        +--------+
5、商  www.2cto.com  
        mysql> select 10 DIV 4;
        +----------+
        | 10 DIV 4 |
        +----------+
        |        2 |
        +----------+
6、取余
        mysql> select 10 MOD 4;
        +----------+
        | 10 MOD 4 |
        +----------+
        |        2 |
        +----------+
二、比较运算符
1、等于
        mysql> select 2=3;
        +-----+
        | 2=3 |
        +-----+
        |   0 |
        +-----+
        mysql> select NULL = NULL;
        +-------------+
        | NULL = NULL |
        +-------------+
        |        NULL |
        +-------------+
2、不等于
        mysql> select 2<>3;
        +------+
        | 2<>3 |
        +------+
        |    1 |
        +------+
3、安全等于
        与“=”的区别在于当两个操作码均为NULL时,其所得值为1而不为NULL,而当一个操作码为NULL时,其所得值为0而不为NULL。
        mysql> select 2<=>3;
        +-------+
        | 2<=>3 |
        +-------+
        |     0 |
        +-------+
        mysql> select null=null;
        +-----------+
        | null=null |
        +-----------+
        |      NULL |
        +-----------+
        mysql> select null<=>null;
        +-------------+
        | null<=>null |
        +-------------+
        |           1 |
        +-------------+
4、小于
        mysql> select 2<3;
        +-----+
        | 2<3 |
        +-----+
        |   1 |
        +-----+
5、小于等于
        mysql> select 2<=3;
        +------+
        | 2<=3 |
        +------+
        |    1 |
        +------+
6、大于
        mysql> select 2>3;
        +-----+
        | 2>3 |
        +-----+
        |   0 |
        +-----+
7、大于等于
        mysql> select 2>=3;
        +------+
        | 2>=3 |
        +------+
        |    0 |
        +------+
8、BETWEEN
        mysql> select 5 between 1 and 10;
        +--------------------+
        | 5 between 1 and 10 |
        +--------------------+
        |                  1 |
        +--------------------+
9、IN
        mysql> select 5 in (1,2,3,4,5);
        +------------------+
        | 5 in (1,2,3,4,5) |
        +------------------+
        |                1 |
        +------------------+
10、NOT IN
        mysql> select 5 not in (1,2,3,4,5);
        +----------------------+
        | 5 not in (1,2,3,4,5) |
        +----------------------+
        |                    0 |
        +----------------------+
11、IS NULL
        mysql> select null is NULL;
        +--------------+
        | null is NULL |
        +--------------+
        |            1 |
        +--------------+
        mysql> select ‘a‘ is NULL;
        +-------------+
        | ‘a‘ is NULL |
        +-------------+
        |           0 |
        +-------------+
12、IS NOT NULL
        mysql> select null IS NOT NULL;
        +------------------+
        | null IS NOT NULL |
        +------------------+
        |                0 |
        +------------------+
        mysql> select ‘a‘ IS NOT NULL;
        +-----------------+
        | ‘a‘ IS NOT NULL |
        +-----------------+
        |               1 |
        +-----------------+
13、LIKE
        mysql> select ‘12345‘ like ‘12%‘;
        +--------------------+
        | ‘12345‘ like ‘12%‘ |
        +--------------------+
        |                  1 |
        +--------------------+
        mysql> select ‘12345‘ like ‘12_‘;
        +--------------------+
        | ‘12345‘ like ‘12_‘ |
        +--------------------+
        |                  0 |
        +--------------------+
14、REGEXP
        mysql> select ‘beijing‘ REGEXP ‘jing‘;
        +-------------------------+
        | ‘beijing‘ REGEXP ‘jing‘ |
        +-------------------------+
        |                       1 |
        +-------------------------+
        mysql> select ‘beijing‘ REGEXP ‘xi‘;
        +-----------------------+
        | ‘beijing‘ REGEXP ‘xi‘ |
        +-----------------------+
        |                     0 |
        +-----------------------+
三、逻辑运算符  www.2cto.com  
1、与
        mysql> select 2 and 0;
        +---------+
        | 2 and 0 |
        +---------+
        |       0 |
        +---------+
        mysql> select 2 and 1;
        +---------+
        | 2 and 1 |
        +---------+
        |       1 |
        +---------+
2、或
        mysql> select 2 or 0;
        +--------+
        | 2 or 0 |
        +--------+
        |      1 |
        +--------+
        mysql> select 2 or 1;
        +--------+
        | 2 or 1 |
        +--------+
        |      1 |
        +--------+
        mysql> select 0 or 0;
        +--------+
        | 0 or 0 |
        +--------+
        |      0 |
        +--------+
        mysql> select 1 || 0;
        +--------+
        | 1 || 0 |
        +--------+
        |      1 |
        +--------+
3、非
        mysql> select not 1;
        +-------+
        | not 1 |
        +-------+
        |     0 |
        +-------+
        mysql> select !0;
        +----+
        | !0 |
        +----+
        |  1 |
        +----+
4、异或  www.2cto.com  
        mysql> select 1 xor 1;
        +---------+
        | 1 xor 1 |
        +---------+
        |       0 |
        +---------+
        mysql> select 0 xor 0;
        +---------+
        | 0 xor 0 |
        +---------+
        |       0 |
        +---------+
        mysql> select 1 xor 0;
        +---------+
        | 1 xor 0 |
        +---------+
        |       1 |
        +---------+
        mysql> select null or 1;
        +-----------+
        | null or 1 |
        +-----------+
        |         1 |
        +-----------+
        mysql> select 1 ^ 0;
        +-------+
        | 1 ^ 0 |
        +-------+
        |     1 |
        +-------+
四、位运算符
1、按位与
        mysql> select 3&5;
        +-----+
        | 3&5 |
        +-----+
        |   1 |
        +-----+
2、按位或
        mysql> select 3|5;
        +-----+
        | 3|5 |
        +-----+
        |   7 |
        +-----+
3、按位异或
        mysql> select 3^5;
        +-----+
        | 3^5 |
        +-----+
        |   6 |
        +-----+
4、按位取反
        +----------------------+
        | ~3                   |
        +----------------------+
        | 18446744073709551612 |
        +----------------------+
        mysql> select ~18446744073709551612;
        +-----------------------+
        | ~18446744073709551612 |
        +-----------------------+
        |                     3 |
        +-----------------------+
5、按位右移  www.2cto.com  
        mysql> select 3>>1;
        +------+
        | 3>>1 |
        +------+
        |    1 |
        +------+
6、按位左移
        mysql> select 3<<1;
        +------+
        | 3<<1 |
        +------+
        |    6 |
        +------+
五、运算符优先级顺序
        最高优先级 :=
        1 ||, OR, XOR
        2 &&, AND
        3 BETWEEN, CASE, WHEN, THEN, ELSE
        4 =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
        5 |
        6 &
        7 <<, >>
        8 -, +
        9 *, /, DIV, %, MOD
        10 ^
        11 - (unary minus), ~ (unary bit inversion)
        12 !, NOT
        最低优先级 BINARY, COLLATE