能让小学生3分钟学会的mysql逻辑运算知识,不看就太惋惜了 ...

打印 上一主题 下一主题

主题 1735|帖子 1735|积分 5215

1. 逻辑运算符的根本概念

MySQL 中的逻辑运算符包罗:


  • AND:两个条件都为真时结果为真。也叫 与运算;
  • OR:至少一个条件为真时结果为真。也叫 或运算;
  • NOT:取反,将真变假,假变真。也叫 非运算;
  • XOR:异或,两个条件差别,结果为真。
  • 在 MySQL 中,TRUE 等价于 1,FALSE 等价于 0。
 2. 逻辑运算符的根本应用
直接举例:
假设我们有一个表test,此中有两列a和b,他们的值都是布尔值(0或1):
  1. --如果没有数据库,请先创建数据库
  2. create database ls;
  3. use ls;
  4. -- 下面是创建表的语句
  5. create table test(
  6. a int,
  7. b int
  8. );
  9. -- 下面是往表中插入数据。
  10. -- 特别说明一下:下面的数字1可以替换为其他 不是0的整数。
  11. -- 原因是因为在mysql逻辑运算中,不是0的数都看成是真的。
  12. insert into test values
  13. (0,0),
  14. (0,1),
  15. (1,0),
  16. (1,1);
复制代码
 下面我们用逻辑运算了比较这两列的值:
  1. select a,b,(a and b) as 与运算,
  2. (a or b) as 或运算,
  3. (a xor b) as 异或运算,
  4. (!a) as 非a
  5. from test;
复制代码
执行后 获得结果如下:
查询结果:

ab与运算或运算异或运算非a000001010111100110111100 解释:


  • 与运算 (a AND b)

    • 当 a 和 b 都为 1 时,结果为 1,否则为 0。

  • 或运算 (a OR b)

    • 当 a 或 b 中至少有一个为 1 时,结果为 1,否则为 0。

  • 异或运算 (a XOR b)

    • 当 a 和 b 差别时(一个为 1,另一个为 0),结果为 1;否则为 0。

  • 非运算 (!a)

    • 取反操作,将 a 的值取反。如果 a 为 1,结果为 0;如果 a 为 0,结果为 1。
    • 对b也是同样的结果,就没有写了。




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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

泉缘泉

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表