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 开发基础系列5 运算符的更多相关文章

  1. mysql 开发基础系列12 选择合适的数据类型(上)

    一. char 与varchar比较 在上图的最后一行的值只适用在"非严格模式",关于严格模式后面讲到.在“开发基础系列4“ 中讲到CHAR 列删除了尾部的空格.由于char是固定 ...

  2. mysql 开发基础系列17 存储过程和函数(上)

    一. 概述 存储过程和函数是事先经过编译并存储在数据库中的一段sql语句集合,可以简化应用开发人员的很多工作,减少数据在数据库与应用服务器之间的传输,提高数据处理效率是有好处的.存储过程和函数的区别在 ...

  3. mysql 开发基础系列1 表查询操作

    在安装完数据库后,不管是windows 还是linux平台,  mysql的sql命令都大同小异,相关命令都是相同的,每个命令结束后 都以  ;  结尾, 注意在windows平台中表名是不区分大小写 ...

  4. mysql 开发基础系列22 SQL Model

    一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...

  5. mysql 开发基础系列20 事务控制和锁定语句(上)

    一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性.这样就需要使 ...

  6. mysql 开发基础系列18 存储过程和函数(下)

    1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...

  7. mysql 开发基础系列15 索引的设计和使用

    一.概述 所有mysql 列类型都可以被索引,是提高select查询性能的最佳方法. 根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种引擎对每个表至少支持16个索引,总索引长度至少为256字 ...

  8. mysql 开发基础系列14 字符集

    字符集是一套文字符号及其编码,比较规则的集合.第一个字符集是ascll(american standard code for information interchange).  1.  选择合适的字 ...

  9. mysql 开发基础系列13 选择合适的数据类型(下)

    一.  BloB和Text 1. 合成索引 合成索引可以提高大文本字段BLOB和Text的查询性能, 合成索引是在表中增加一个字段存放散列值,这种技术只能用于精确匹配的查询,可以使用md5()或sha ...

随机推荐

  1. WEB服务器搭建(Apache+Tomcat+eclipse)

    1.下载xampp安装,选择Apache+MySQL+Tomcat 官方下载链接:https://www.apachefriends.org/zh_cn/download.html 2.下载安装jav ...

  2. 微信小程序——地图

    一:如何标点问题 地图模块需要用标点:官网API里面的wx.createMapContext(mapId, this)接口,且用官网Demo,小程序运行报错此时需要在wxml里面给map标签添加属性m ...

  3. IO模型的介绍

    Stevens 在文章中的一种IO Model: ****blocking IO    #阻塞 IO   (系统调用不返回结果并让当前线程一直阻塞,只有当该系统调用获得结果或者超时出错才返回) *** ...

  4. linux vg lv pv

    = pv由物理卷或者分区组成   pv可以组成一个或者多个vg     vg可以分成多个lv 方便扩展 pvs vgs lvs 可以查看当前存在的pv vg lv 我的centos硬盘20g 使用了一 ...

  5. outlook VSTO

    https://files.cnblogs.com/files/maooveyu/OutlookPhotoSync.rar

  6. IOS 模拟器多开集成测试和那些坑

    #### 前言公司一直没有IOS自动化,搞得很尴尬,个人感觉搞自动测试的,不搞IOS自动化,就像金X,少了重要一点啊.也向领导申请过不止一次,总只都各种原因没有分配机器,不了了之.某天线上IOS出bu ...

  7. 转 Tomcat+redis+nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  8. DataOutputStream and DataInputStream

    1.在io包中,提供了两个与平台无关的数据操作流 数据输出流(DataOutputStream) 数据输入流(DataInputStream) 2.通常数据输出流会按照一定的格式将数据输出,再通过数据 ...

  9. Python之旅Day5 列表生成式 生成器 迭代器 装饰器

    装饰器 器即函数,装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器涉及的知识点= 高阶函数+函数嵌套+闭包 在遵循下面两个原则的前提下为被装饰者新功能 ...

  10. Key Technologies Primer 读书笔记,翻译 --- Struct 学习 1

    原文链接:https://struts.apache.org/primer.html 本来想写成读书笔记的,结果还是变成翻译,谨作记录,学习.   1.HTML -- 见我前面文章 2.Interne ...