mysql 开发基础系列5 运算符
程序员文章站
2022-04-10 14:52:56
1. 算术运算符 2.比较运算符 3.逻辑运算符又叫布尔运算符。用来确认表达式的真和假。 not 或! 表示逻辑非。 返回和操作数相反的结果,当操作数为0(假) 返回1。 如下 AND 或 && 。当所有操作数均为非零值并且不为NULL 时,计算所得结果为1 or 或 || 条件只要一个为真就行 x ......
1. 算术运算符
2.比较运算符
注意NULL值不能用= 运算符 SELECT * FROM t WHERE c =NULL; -- 需要改成 SELECT * FROM t WHERE c IS NULL; -- 或改成 SELECT * FROM t WHERE c <=> NULL; --between 相当于 a>=min and a<=max的运算 -- 包含则返回1, 否则为0 SELECT 'abcdef' REGEXP 'ab', 'abedefg' REGEXP 'k' k;
3.逻辑运算符又叫布尔运算符。用来确认表达式的真和假。
not 或! 表示逻辑非。 返回和操作数相反的结果,当操作数为0(假) 返回1。 如下
SELECT NOT 1 ,NOT 2,NOT 0,NOT NULL,NOT NOT NULL;
AND 或 && 。当所有操作数均为非零值并且不为NULL 时,计算所得结果为1
-- 两个查询结果都一样 SELECT * FROM emp1 WHERE ename='dony' AND sal= '3000.00'; SELECT * FROM emp1 WHERE ename='dony' && sal= '3000.00';
or 或 || 条件只要一个为真就行
-- 两个查询结果都一样 SELECT * FROM emp1 WHERE ename='dony' || sal= '3000.00'; SELECT * FROM emp1 WHERE ename='dony' OR sal= '3000.00';
xor 逻辑异或
当任意一个操作数为NULL 时,返回值为NULL。对于非NULL 的操作数,如果两个的逻辑真假值相异,则返回结果1;否则返回0。如下例所示:
SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 0 XOR 1, NULL XOR 1;
4.位运算符
位运算符是将给定的操作数转化为二进制。得到的二进制结果转换为十进制数后就是位运算的结果
由于不常用就演示一个
&位与,对多个操作数的二进制作逻辑与操作,例如2&3,因为2的二进制是10,3是11。10&11结果是10,十进制数字还是2。
SELECT 2&3;
可以对2 个以上操作数做或操作,测试一下2&3&4,因为4 的二进制是100,和上面的10做与操作100&010 后,结果应该是000,可以看实际结果为:
SELECT 2&3&4;
推荐阅读
-
mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)
-
mysql 开发进阶篇系列 47 xtrabackup (完全备份恢复,恢复后重启失败总结)
-
mysql 开发进阶篇系列 33 工具篇(mysqlbinlog日志管理工具)
-
mysql 开发进阶篇系列 34 工具篇 mysqlcheck(MyISAM表维护工具)
-
mysql 开发进阶篇系列 7 锁问题
-
mysql 开发基础系列14 字符集
-
mysql 开发基础系列13 选择合适的数据类型(下)
-
mysql 开发进阶篇系列 35 工具篇 mysqldump(数据导出工具)
-
mysql 开发进阶篇系列 48 xtrabackup (增量备份与恢复)
-
mysql 开发进阶篇系列 4 SQL 优化