IT评测·应用市场-qidao123.com

标题: 数据库中逻辑运算符的介绍以及优先级表 [打印本页]

作者: 干翻全岛蛙蛙    时间: 2024-7-30 20:10
标题: 数据库中逻辑运算符的介绍以及优先级表
目次
1.逻辑非运算
2.逻辑与
3.逻辑或
4.逻辑异或:
5.位运算符
例:按位与
例2:按位或
例3:按位异或
例4:按位取反
例5:按位右移:
例6:按位左移
                                                运算符的优先级表


简介:逻辑运算符主要判定表达式的真假,返回值为1,0,null
其中包罗:
        逻辑非:not或!
        逻辑与:and或&&
        逻辑或:or或||
        逻辑异或:XOR
1.逻辑非运算

   规则:            当给定的值为非0  值时返回  0  ;            当给定的值为NULL  时,返回  NULL  。    例:   
  1. SELECTNOT1,NOT0,NOT(1+1),NOT!1,NOTNULL;
复制代码

  2.逻辑与

     规则:             运算符是当给定的全部值均为非0值,而且都不为  NULL  时,返回1;                        当给定的一个值或者多个值为0时则返回  0  ;否则返回  NULL  。   
  1. SELECT 1 AND -1,0 AND 1,0 AND NULL,1 AND NULL;
复制代码

  1. SELECT employee_id,last_name
  2. FROM employees
  3. WHERE salary>=10000 AND last_name LIKE '小%';
复制代码

  3.逻辑或

  规则:
             1.当给定的值都不为NULL   ,而且任何一个值为非   0   值时,则返回1   ,否则返回   0   ;               2.当一个值为NULL   ,而且另一个值为非   0   值时,返回   1   ,否则返回   NULL   ;               3.当两个值都为 NULL时,返回NULL   。      
  1. SELECT 1 OR -1,1 OR 0,1 OR NULL,0 || NULL,NULL || NULL;
复制代码
  

   注意:
               1.OR可以和AND一起利用,但是在利用时要注意两者的优先级                     2.由于AND的优先级高于OR,因此先                     3.对AND双方的操作数进行操作,再与OR中的操作数结合。      4.逻辑异或:

   规则:
                   1.当给定的值中恣意一个值为NULL    时,则返回    NULL    ;                  2.如果两个非NULL的值都是    0    或者都不等于    0    时,则返回    0    ;                  3.如果一个值为0    ,另一个值不为    0    时,则返回    1    。         
  1. select 1 XOR -1,1 XOR 0,0 XOR 0,1 XOR NULL,1 XOR 1 XOR 1,0 XOR 0 XOR 0
复制代码
   

    5.位运算符

    &按位与
    |按位或
    ^按位异或
    ~按位取反
    >>按位右移
    <<按位左移
    例:按位与

   
  1. SELECT 1&10,20&30;
复制代码
   
   

         1     的二进制数为     0001     ,     10     的二进制数为     1010     ,以是     1&10     的结果为     0000     ,对应的十进制数为     0     。             20     的二进制数为10100     ,     30     的二进制数为     11110     ,以是     20&30     的结果为     10100     ,对应的十进制数为     20     。(一位一位比力运算)           
  例2:按位或

  
  1. SELECT 1|10 , 20|30;
复制代码

     1   的二进制数为   0001   ,   10   的二进制数为   1010   ,以是   1|10   的结果为   1011   ,对应的十进制数为   11   。       20   的二进制数为10100   ,   30   的二进制数为   11110   ,以是   20|30   的结果为   11110   ,对应的十进制数为   30   。    例3:按位异或

   
  1. SELECT 1^10 , 20^30;
复制代码
  

   例4:按位取反

  
  1. SELECT 10 & ~1;
复制代码
  

   如今以按位与盘算为例:
   

   例5:按位右移:

       简介:将给定的值的二进制数的全部位右移指定的位数。右移指定的位数后,右边低位的数值被移出并丢弃,左边高位空出的位置用0    补齐。         
  1. SELECT 1>>2,4>>2;
复制代码
   

    解释:1的二进制数为00000001,右移2位为00000000,对应的十进制数为0。
                4的二进制数为00000100,右移2位为00000001,对应的十进制数为1。
    例6:按位左移

         简介:将给定的值的二进制数的全部位左移指定的位数。左移指定的位数后,左边高位的数值被移出并丢弃,右边低位空出的位置用0     补齐。            
  1. SELECT 1<<2,4<<2;
复制代码
   

           1      的二进制数为      00000001      ,左移两位为      00000100      ,对应的十进制数为      4      。                4      的二进制数为      00000100      ,左移两位为00010000      ,对应的十进制数为      16      。      
      
                                                          运算符的优先级表

     

     
     
     

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4