MySQL管理与优化(3):运算符

运算符

算术运算符:

  • 算术运算符有+, -, *, %(mod函数), /(div函数)。

       MySQL管理与优化(3):运算符_第1张图片

比较运算符:

       MySQL管理与优化(3):运算符_第2张图片

  • 数字作为浮点数比较,字符串以不区分大小写的方式进行比较。

    

    

    

    MySQL管理与优化(3):运算符_第3张图片 

mysql> SELECT 10 BETWEEN 10 AND 20, 9 BETWEEN 10 AND 20;
+----------------------+---------------------+
| 10 BETWEEN 10 AND 20 | 9 BETWEEN 10 AND 20 |
+----------------------+---------------------+
|                    1 |                   0 |
+----------------------+---------------------+
   

   

   

   

  • regexp则用正则表达式进行匹配,如:   
mysql> SELECT 'abcdef' regexp 'ab', 'abcdefg' regexp 'k';
+----------------------+----------------------+
| 'abcdef' regexp 'ab' | 'abcdefg' regexp 'k' |
+----------------------+----------------------+
|                    1 |                    0 |
+----------------------+----------------------+

逻辑运算符:

   MySQL中包含的逻辑运算符:

   MySQL管理与优化(3):运算符_第4张图片

   分别对几种逻辑运算符进行描述:

   

mysql> SELECT NOT 0, NOT 1 , NOT NULL;
+-------+-------+----------+
| NOT 0 | NOT 1 | NOT NULL |
+-------+-------+----------+
|     1 |     0 |     NULL |
+-------+-------+----------+   

   

mysql> SELECT 1 AND 1, 0 AND 1, 3 AND 1, 1 AND NULL;
+---------+---------+---------+------------+
| 1 AND 1 | 0 AND 1 | 3 AND 1 | 1 AND NULL |
+---------+---------+---------+------------+
|       1 |       0 |       1 |       NULL |
+---------+---------+---------+------------+
    
mysql> SELECT 1 OR 0, 0 OR 0, 1 OR NULL, 1 OR 1, NULL OR NULL;
+--------+--------+-----------+--------+--------------+
| 1 OR 0 | 0 OR 0 | 1 OR NULL | 1 OR 1 | NULL OR NULL |
+--------+--------+-----------+--------+--------------+
|      1 |      0 |         1 |      1 |         NULL |
+--------+--------+-----------+--------+--------------+
    
mysql> SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 0 XOR 1, NULL XOR 1;
+---------+---------+---------+---------+------------+
| 1 XOR 1 | 0 XOR 0 | 1 XOR 0 | 0 XOR 1 | NULL XOR 1 |
+---------+---------+---------+---------+------------+
|       0 |       0 |       1 |       1 |       NULL |
+---------+---------+---------+---------+------------+

位运算符:

    MySQL5.0支持的位运算符:

    MySQL管理与优化(3):运算符_第5张图片

    分别介绍这几种位运算:

    

mysql> SELECT 2&3, 2&3&4;
+-----+-------+
| 2&3 | 2&3&4 |
+-----+-------+
|   2 |     0 |
+-----+-------+
    
mysql> SELECT 2|3, 2|3|4;
+-----+-------+
| 2|3 | 2|3|4 |
+-----+-------+
|   3 |     7 |
+-----+-------+
    
mysql> SELECT 2^3;
+-----+
| 2^3 |
+-----+
|   1 |
+-----+
    
mysql> SELECT ~1, ~18446744073709551614;
+----------------------+-----------------------+
| ~1                   | ~18446744073709551614 |
+----------------------+-----------------------+
| 18446744073709551614 |                     1 |
+----------------------+-----------------------+
    
mysql> SELECT 100>>3;
+--------+
| 100>>3 |
+--------+
|     12 |
+--------+
    
mysql> SELECT 100<<3;
+--------+
| 100<<3 |
+--------+
|    800 |
+--------+

运算符的优先级:

      MySQL管理与优化(3):运算符_第6张图片

具体的运算符的细节可参考官网:

http://dev.mysql.com/doc/refman/5.7/en/non-typed-operators.html

不吝指正。

你可能感兴趣的:(mysql,运算符)