干翻全岛蛙蛙 发表于 2024-7-30 20:10:58

数据库中逻辑运算符的介绍以及优先级表

目次
1.逻辑非运算
2.逻辑与
3.逻辑或
4.逻辑异或:
5.位运算符
例:按位与
例2:按位或
例3:按位异或
例4:按位取反
例5:按位右移:
例6:按位左移
                                                运算符的优先级表

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

   规则:            当给定的值为非0值时返回0;            当给定的值为NULL时,返回NULL。    例:    SELECTNOT1,NOT0,NOT(1+1),NOT!1,NOTNULL;https://i-blog.csdnimg.cn/blog_migrate/3b1f0e210f659b88500cbbf89cdc05c5.png
2.逻辑与

     规则:           运算符是当给定的全部值均为非0值,而且都不为NULL时,返回1;                        当给定的一个值或者多个值为0时则返回0;否则返回NULL。    SELECT 1 AND -1,0 AND 1,0 AND NULL,1 AND NULL;https://i-blog.csdnimg.cn/blog_migrate/551511c45df92a7c1924a99b6ab944db.png
SELECT employee_id,last_name
FROM employees
WHERE salary>=10000 AND last_name LIKE '小%';https://i-blog.csdnimg.cn/blog_migrate/695ca56ce067b833831188aa102fa27f.png
3.逻辑或

规则:
           1.当给定的值都不为NULL   ,而且任何一个值为非   0   值时,则返回1   ,否则返回   0   ;               2.当一个值为NULL   ,而且另一个值为非   0   值时,返回   1   ,否则返回   NULL   ;               3.当两个值都为 NULL时,返回NULL   。       SELECT 1 OR -1,1 OR 0,1 OR NULL,0 || NULL,NULL || NULL;   https://i-blog.csdnimg.cn/blog_migrate/7e0c2f0a94e2dd446f57d7e55207a6dc.png
   注意:
               1.OR可以和AND一起利用,但是在利用时要注意两者的优先级                     2.由于AND的优先级高于OR,因此先                     3.对AND双方的操作数进行操作,再与OR中的操作数结合。      4.逻辑异或:

   规则:
                 1.当给定的值中恣意一个值为NULL    时,则返回    NULL    ;                  2.如果两个非NULL的值都是    0    或者都不等于    0    时,则返回    0    ;                  3.如果一个值为0    ,另一个值不为    0    时,则返回    1    。          select 1 XOR -1,1 XOR 0,0 XOR 0,1 XOR NULL,1 XOR 1 XOR 1,0 XOR 0 XOR 0    https://i-blog.csdnimg.cn/blog_migrate/20d38593a306c01d95f7b6cfe8a2d3a4.png
    5.位运算符

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

    SELECT 1&10,20&30;   
    https://i-blog.csdnimg.cn/blog_migrate/e9869e94fdf97d3a7795fb71490d5dff.png
         1   的二进制数为   0001   ,   10   的二进制数为   1010   ,以是   1&10   的结果为   0000   ,对应的十进制数为   0   。             20   的二进制数为10100   ,   30   的二进制数为   11110   ,以是   20&30   的结果为   10100   ,对应的十进制数为   20   。(一位一位比力运算)         
例2:按位或

   SELECT 1|10 , 20|30;https://i-blog.csdnimg.cn/blog_migrate/efcfdc02cea8ad15d19bd42663d3fccb.png
   1   的二进制数为   0001   ,   10   的二进制数为   1010   ,以是   1|10   的结果为   1011   ,对应的十进制数为   11   。       20   的二进制数为10100   ,   30   的二进制数为   11110   ,以是   20|30   的结果为   11110   ,对应的十进制数为   30   。    例3:按位异或

   SELECT 1^10 , 20^30;   https://i-blog.csdnimg.cn/blog_migrate/929eb4930b64bf44928a923a5048f8a3.png
   例4:按位取反

   SELECT 10 & ~1;   https://i-blog.csdnimg.cn/blog_migrate/12484667565711a16af4b71193554a9f.png
   如今以按位与盘算为例:
   https://i-blog.csdnimg.cn/blog_migrate/b0ec2f7bf1aada29be8b74c2ccaa563e.png
   例5:按位右移:

       简介:将给定的值的二进制数的全部位右移指定的位数。右移指定的位数后,右边低位的数值被移出并丢弃,左边高位空出的位置用0    补齐。          SELECT 1>>2,4>>2;    https://i-blog.csdnimg.cn/blog_migrate/823d4962e5f3149e019506512490bed6.png
    解释:1的二进制数为00000001,右移2位为00000000,对应的十进制数为0。
                4的二进制数为00000100,右移2位为00000001,对应的十进制数为1。
    例6:按位左移

         简介:将给定的值的二进制数的全部位左移指定的位数。左移指定的位数后,左边高位的数值被移出并丢弃,右边低位空出的位置用0   补齐。             SELECT 1<<2,4<<2;   https://i-blog.csdnimg.cn/blog_migrate/ffb23e5714a1b8281fe5d0fbf20c27ae.png
         1      的二进制数为      00000001      ,左移两位为      00000100      ,对应的十进制数为      4      。                4      的二进制数为      00000100      ,左移两位为00010000      ,对应的十进制数为      16      。            
                                                          运算符的优先级表

   https://i-blog.csdnimg.cn/blog_migrate/158fff201069bde1ae2a84b1b12f3358.png
      
   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 数据库中逻辑运算符的介绍以及优先级表