mysql 开发基础系列5 运算符
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 运算符的更多相关文章
- mysql 开发基础系列12 选择合适的数据类型(上)
一. char 与varchar比较 在上图的最后一行的值只适用在"非严格模式",关于严格模式后面讲到.在“开发基础系列4“ 中讲到CHAR 列删除了尾部的空格.由于char是固定 ...
- mysql 开发基础系列17 存储过程和函数(上)
一. 概述 存储过程和函数是事先经过编译并存储在数据库中的一段sql语句集合,可以简化应用开发人员的很多工作,减少数据在数据库与应用服务器之间的传输,提高数据处理效率是有好处的.存储过程和函数的区别在 ...
- mysql 开发基础系列1 表查询操作
在安装完数据库后,不管是windows 还是linux平台, mysql的sql命令都大同小异,相关命令都是相同的,每个命令结束后 都以 ; 结尾, 注意在windows平台中表名是不区分大小写 ...
- mysql 开发基础系列22 SQL Model
一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...
- mysql 开发基础系列20 事务控制和锁定语句(上)
一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性.这样就需要使 ...
- mysql 开发基础系列18 存储过程和函数(下)
1. 光标的使用(游标) 在存储过程和函数中可以使用光标对结果集进行循环的处理,光标使用包括光标的声明,open ,fetch,close. 下面在存储过程中使用一个光标, 这个举例中光标里的逻辑不重 ...
- mysql 开发基础系列15 索引的设计和使用
一.概述 所有mysql 列类型都可以被索引,是提高select查询性能的最佳方法. 根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种引擎对每个表至少支持16个索引,总索引长度至少为256字 ...
- mysql 开发基础系列14 字符集
字符集是一套文字符号及其编码,比较规则的集合.第一个字符集是ascll(american standard code for information interchange). 1. 选择合适的字 ...
- mysql 开发基础系列13 选择合适的数据类型(下)
一. BloB和Text 1. 合成索引 合成索引可以提高大文本字段BLOB和Text的查询性能, 合成索引是在表中增加一个字段存放散列值,这种技术只能用于精确匹配的查询,可以使用md5()或sha ...
随机推荐
- Windows 10 专业版 长期服务版 激活
这个用小白系统之后一段时间显示要求激活,或者更改产品秘钥.网上找了许多秘钥也是没啥用,又不想用激活工具的话,可以试试用win+R 输入cmd : 依次输入:slmgr /skms kms.digibo ...
- 对TIMIT数据进行格式转换(SPHERE2WAV(RIFF))
首先,转换sph2pipe工具所在文件夹(此工具为LDC所提供的SPHERE音频文件转换工具) cd '/home/dream/Research/kaldi-master/tools/sph2pipe ...
- Ajax基本语法
案例代码: $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.jso ...
- go基本使用方法
一,变量 var:声明变: var 变量名 数据类型 :同时还需要指定数据的类型 var 变量名 = 值 : 声明变量,根据变量值判断变量类型 := :省略var,直接可以(变量名:= 值), ...
- php数组排序sort
php的数组分为数字索引型的数组,和关键字索引的数组.如果是数字索引的,可以这样使用:$names = ['Tom', 'Rocco','amiona'];sort($names);sort()函数只 ...
- android与php使用base64加密的字符串结果不一样解决方法
base64将字符串转换为字节得到同一个值 一.错误 String signString = Base64.encodeToString(signContent.getBytes(),Base64.N ...
- (PMP)第5章-----项目范围管理
产品范围:所具有的特征和功能 项目范围:必须完成的工作. 5.1 规划范围管理 输入 工具与技术 输出 1.项目章程 2.项目管理计划 (质量管理计划, 项目生命周期描述, 开发方法) 3.事业环境因 ...
- 周报数据采集之生存图片(execl方法)
https://blog.csdn.net/Luzaofa/article/details/81675364 Python之Excel chart另存为图片大家好,好久没有更新博客了,这一段时间有点忙 ...
- istio实现对外暴露服务
1.确认istio-ingressgateway是否有对外的IP kubectl get service istio-ingressgateway -n istio-system 如果 EXTERNA ...
- Greenplum 日常维护手册 (汇总、点评、备查)
1. 数据库启动:gpstart常用可参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可参数:-a:直接停止, ...