MySQL-运算符
算术运算符
+: 加法运算
-: 减法运算
*: 乘法运算
/: 除法运算,返回商
%: 求余运算,返回余数
例:创建n5表,插入数字100,查看数据表分别查看+、-、*、/、%
mysql> create table n5(-> num int);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into n5 values(100);
Query OK, 1 row affected (0.00 sec)
mysql> select num, num+3,num-3,num*3,num/3,num%3 from n5;
+------+-------+-------+-------+---------+-------+
| num | num+3 | num-3 | num*3 | num/3 | num%3 |
+------+-------+-------+-------+---------+-------+
| 100 | 103 | 97 | 300 | 33.3333 | 1 |
+------+-------+-------+-------+---------+-------+
1 row in set (0.00 sec)运算符 | 作用 |
= | 等于 |
<=> | 安全的等于 |
<> | 不等于,也可写成!= |
<= | 小于等于 |
>= | 大于等于 |
> | 大于 |
IS NULL | 判断一个值是否为NULL |
IS NOT NULL | 判断一个值是否不为NULL |
LEAST | 当有两个或多个参数时,返回最小值 |
GREATEST | 当有两个或多个参数时,返回最大值 |
BETWEEN AND | 判断一个值是否落在两个值之间 |
ISNULL与IS NULL | 作用相同 |
IN | 判断一个值是否是IN列表中的任意一个值 |
NOT IN | 判断一个值是否不是IN列表中的任意一个值 |
LIKE | 通配符匹配 |
REGEXP | 正则表达式匹配 |
等于运算符 ( = )
等于运算符用来判断数字、字符串和表达式是否相等,如果相等,则返回值为 1 ,否则返回值为 0 ,如果有一个值是 NULL ,则比较结果为 NULL。
mysql> select 1=0,'2'=2,(1+3)=(2+2),NULL=NULL;
+-----+-------+-------------+-----------+
| 1=0 | '2'=2 | (1+3)=(2+2) | NULL=NULL |
+-----+-------+-------------+-----------+
| 0 | 1 | 1 | NULL |
+-----+-------+-------------+-----------+
1 row in set (0.01 sec)安全等于运算符 ( <=> )
这个操作符和等于运算符(=)的作用一致,只不过多了一个功能,就是可以判断 NULL 值。
mysql> select 1<=>0,'2'<=>2,(1+3)<=>(2+2),NULL<=>NULL;
+-------+---------+---------------+-------------+
| 1<=>0 | '2'<=>2 | (1+3)<=>(2+2) | NULL<=>NULL |
+-------+---------+---------------+-------------+
| 0 | 1 | 1 | 1 |
+-------+---------+---------------+-------------+
1 row in set (0.00 sec)不等于运算符 ( <> 或 != )
不等于运算符用于判断数字、字符串、表达式是否不相等,如果不相等则返回 1,否则返回 0 ,但是不能判断NULL 值。
mysql> select 'good'<>'god',1<>2,4!=4,5.5!=5,NULL<>NULL;
+---------------+------+------+--------+------------+
| 'good'<>'god' | 1<>2 | 4!=4 | 5.5!=5 | NULL<>NULL |
+---------------+------+------+--------+------------+
| 1 | 1 | 0 | 1 | NULL |
+---------------+------+------+--------+------------+
1 row in set (0.00 sec)IS NULL 、ISNULL 、IS NOT NULL
IS NULL 和 ISNULL 检验一个值是否为 NULL ,如果为 NULL ,返回值为 1,否则返回值为 0。
IS NOT NULL 检验一个值是否不为 NULL ,如果不为 NULL ,返回值为 1,否则返回值为 0。
mysql> select null is null,isnull(null),isnull(10),10 is not null;
+--------------+--------------+------------+----------------+
| null is null | isnull(null) | isnull(10) | 10 is not null |
+--------------+--------------+------------+----------------+
| 1 | 1 | 0 | 1 |
+--------------+--------------+------------+----------------+
1 row in set (0.00 sec)BETWEEN AND
用于判断一个值是否落在两个值之间
mysql> select 4 between 2 and 5,4 between 4 and 6, 12 between 9 and 10;
+-------------------+-------------------+---------------------+
| 4 between 2 and 5 | 4 between 4 and 6 | 12 between 9 and 10 |
+-------------------+-------------------+---------------------+
| 1 | 1 | 0 |
+-------------------+-------------------+---------------------+
1 row in set (0.00 sec)LEAST 、GREATEST
LEAST :当有两个或多个参数时,返回最小值,如果有一个值是 NULL ,则返回结果为 NULL
GREATEST :当有两个或多个参数时,返回最大值,如果有一个值是 NULL ,则返回结果为 NULL
mysql> select least(2,0),least('a','c','b'),least(10,null),greatest(2,0),greatest(10,null);
+------------+--------------------+----------------+---------------+-------------------+
| least(2,0) | least('a','c','b') | least(10,null) | greatest(2,0) | greatest(10,null) |
+------------+--------------------+----------------+---------------+-------------------+
| 0 | a | NULL | 2 | NULL |
+------------+--------------------+----------------+---------------+-------------------+
1 row in set (0.00 sec)IN 、NOT IN
IN :判断一个值是否是 IN 列表中的任意一个值
NOT IN :判断一个值是否不是 IN 列表中的任意一个值
mysql> select 2 in (1,3,5), 2 not in (1,3,5);
+--------------+------------------+
| 2 in (1,3,5) | 2 not in (1,3,5) |
+--------------+------------------+
| 0 | 1 |
+--------------+------------------+
1 row in set (0.00 sec)LIKE
LIKE 运算符用来匹配字符串,如果匹配则返回 1,如果不匹配则返回 0
LIKE 使用两种通配符:'%' 用于匹配任何数目的字符,包括零字符 ; '_' 只能匹配一个字符
mysql> SELECT 'stud' LIKE 'stu_', 'stud' LIKE 's___', 'stud' LIKE '%d';
+--------------------+--------------------+------------------+
| 'stud' LIKE 'stu_' | 'stud' LIKE 's___' | 'stud' LIKE '%d' |
+--------------------+--------------------+------------------+
| 1 | 1 | 1 |
+--------------------+--------------------+------------------+
1 row in set (0.00 sec)REGEXP
REGEXP 运算符用来匹配字符串,如果匹配则返回 1,如果不匹配则返回 0
REGEXP 使用几种通配符:
'^' 用于匹配以什么开头的字符串
'$' 用于匹配以什么结尾的字符串
'.' 用于匹配任何一个单字符串
'[...]' 用于匹配在方括号内的任何字符
'*' 用于匹配零个或多个在它前面的字符
mysql> SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';
+--------------------+--------------------+----------------------+-----------------------+
| 'ssky' REGEXP '^s' | 'ssky' REGEXP 'y$' | 'ssky' REGEXP '.sky' | 'ssky' REGEXP '[ab]' |
+--------------------+--------------------+----------------------+-----------------------+
| 1 | 1 | 1 | 0 |
+--------------------+--------------------+----------------------+-----------------------+
1 row in set (0.00 sec)逻辑运算符
运算符 | 作用 |
NOT或! | 逻辑非 |
AND或&& | 逻辑与 |
OR或|| | 逻辑或 |
XOR | 逻辑异或 |
逻辑非 ( NOT 或 !)
当操作数为 0 时,所得值为 1
当操作数为非 0 时,所得值为 0
当操作数为 NULL 时,所得值为 NULL
mysql> SELECT NOT 10, !10, NOT (1-1), !(1-1), NOT 1+1, NOT NULL;
+--------+-----+-----------+--------+---------+----------+
| NOT 10 | !10 | NOT (1-1) | !(1-1) | NOT 1+1 | NOT NULL |
+--------+-----+-----------+--------+---------+----------+
| 0 | 0 | 1 | 1 | 0 | NULL |
+--------+-----+-----------+--------+---------+----------+
1 row in set (0.04 sec)逻辑与 ( AND 或 && )
当所有操作数均为非零值、并且不为 NULL 时,所得值为 1
当一个或多个操作数为 0 时,所得值为 0
其余情况所得值为 NULL
mysql> SELECT 1 AND -1, 1 && 0, 0 AND NULL, 1 && NULL;
+----------+--------+------------+-----------+
| 1 AND -1 | 1 && 0 | 0 AND NULL | 1 && NULL |
+----------+--------+------------+-----------+
| 1 | 0 | 0 | NULL |
+----------+--------+------------+-----------+
1 row in set (0.00 sec)逻辑或 ( OR 或 || )
当两个操作数均为非 NULL 值,且任意一个操作数为非零值时,结果为 1 ,否则为 0
当有一个操作数为 NULL ,且另一个操作数为非零值时,则结果为 1 ,否则结果为 NULL
当两个操作数均为 NULL 时,则所得结果为 NULL
mysql> SELECT 1 OR -1 OR 0, 1 || 2, 0 OR NULL, NULL || NULL;
+--------------+--------+-----------+--------------+
| 1 OR -1 OR 0 | 1 || 2 | 0 OR NULL | NULL || NULL |
+--------------+--------+-----------+--------------+
| 1 | 1 | NULL | NULL |
+--------------+--------+-----------+--------------+
1 row in set (0.01 sec)逻辑异或 ( XOR )
a XOR b 的计算等同于 ( a AND (NOT b) ) 或 ( (NOT a) AND b )
当任意一个操作数为 NULL 时,返回值为 NULL
对于非 NULL 的操作数,如果两个操作数都是非 0 值或者都是 0 值,则返回结果为 0
如果一个为 0 值,另一个为非 0 值,返回结果为 1
mysql> SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;
+---------+---------+---------+------------+---------------+
| 1 XOR 1 | 0 XOR 0 | 1 XOR 0 | 1 XOR NULL | 1 XOR 1 XOR 1 |
+---------+---------+---------+------------+---------------+
| 0 | 0 | 1 | NULL | 1 |
+---------+---------+---------+------------+---------------+
1 row in set (0.02 sec)位运算符
运算符 | 作用 |
| | 位或 |
& | 位与 |
^ | 位异或 |
<< | 位左移 |
>> | 位右移 |
~ | 位取反 |
位或运算符 ( | )
对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0
mysql> select 10|15,9|4|2;
+-------+-------+
| 10|15 | 9|4|2 | # 10的二进制为1010,15的二进制为1111,按位或运算之后结果为1111,即15
+-------+-------+ # 9的二进制为1001,4为0100,2的二进制为0010,按位或运算之后1111
| 15 | 15 |
+-------+-------+
1 row in set (0.00 sec)位与运算符 ( & )
对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
mysql> SELECT 10&15,9&4&2;
+-------+-------+
| 10&15 | 9&4&2 |
+-------+-------+
| 10 | 0 |
+-------+-------+
1 row in set (0.00 sec)
位异或运算符 ( ^ )
对应的二进制位不相同时,结果为 1 ,否则为 0
mysql> SELECT 10^15,1^0,1^1;
+-------+-----+-----+
| 10^15 | 1^0 | 1^1 |
+-------+-----+-----+
| 5 | 1 | 0 |
+-------+-----+-----+
1 row in set (0.00 sec)位左移运算符 ( << )
使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出并丢弃,右边低位空出的位置用 0 补齐
mysql> select 1<<2,4<<2;
+------+------+
| 1<<2 | 4<<2 | # 1的二进制值为00000001,左移两位之后变成00000100,即十进制数4
+------+------+
| 4 | 16 | # 4的二进制值为00000100,左移两位之后变成00010000,即十进制数16
+------+------+
1 row in set (0.00 sec)位右移运算符 ( >> )
使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出并丢弃,左边高位空出的职位用 0 补齐
mysql> select 1>>1, 16>>2;
+------+-------+
| 1>>1 | 16>>2 |
+------+-------+
| 0 | 4 |
+------+-------+
1 row in set (0.00 sec)位取反运算符 ( ~ )
将对应的二进制数逐位反转,即 1 取反后变 0 , 0 取反后变 1
mysql> select 5 &~1;
+-------+
| 5 &~1 |
+-------+
| 4 |
+-------+
1 row in set (0.00 sec)
相关文章:
MySQL-运算符
算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算,返回商%: 求余运算,返回余数例:创建n5表,插入数字100,查看数据表分别查看、-、*、/、%mysql> create table n5(-> num int); Query OK, 0 rows affected…...
Hudi-基本概念(时间轴、文件布局、索引、表类型、查询类型、数据写、数据读、Compaction)
文章目录基本概念时间轴(TimeLine)文件布局(File Layout)Hudi表的文件结构Hudi存储的两个部分Hudi的具体文件说明索引(Index)原理索引选项全局索引与非全局索引索引的选择策略对事实表的延迟更新对事件表的去重对维度表的随机更删…...
数据分享|中国各省、各市、各区县分年、分月、逐日平均气温数据(2000年~2019年)
今天分享给大家的是 2000 年~2019 年中国各省、各市、各县的分年、分月、逐日的平均气温数据(单位:摄氏度) 原始数据来源于国家气象科学数据共享服务平台-中国地面气候资料日值数据集(V3.0),原始数据是各个观测站点的日度数据,为了方便大家使用,我使用 Barnes 方法(…...
steam/csgo搬砖,2023年最暴利的项目
这个项目赚钱主要来源于两个地方: 1.比如说今天美元的汇率是1美元6.8人民币,那我们有特定的渠道能拿到1美元5.0-5.5左右人民币的价格,100美元的汇率差利润就有180元左右的利润,当然这个价格是根据国际的汇率上下会有浮动的。 2.…...
RDSDRDSPolarDBPolarDB-X的区别
RDS 阿里云关系型数据库(Relational Database Service,简称RDS),是一种稳定可靠、可弹性伸缩的在线数据库服务。 基于阿里云分布式文件系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和PPAS(Post…...
【Python学习笔记】30.Python3 命名空间和作用域
前言 本章介绍Python的命名空间和作用域。 命名空间 先看看官方文档的一段话: A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射,大…...
后量子 KEM 方案:Kyber
参考文献: Bos J, Ducas L, Kiltz E, et al. CRYSTALS-Kyber: a CCA-secure module-lattice-based KEM[C]//2018 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2018: 353-367.Avanzi R, Bos J, Ducas L, et al. Crystals-kyber[J]. NIST…...
2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)
同步赛链接 A-原初的信纸(最值,STL) 题意: 找 n 个数的最大值. 参考代码: void solve() {int n;std::cin >> n;std::vector<int> a(n);for (auto &c : a)std::cin >> c;std::cout << *max_element…...
生产Nginx现大量TIME-WAIT,连接耗尽,该如何处理?
背景说明: 在尼恩读者50交流群中,是不是有小伙伴问: 尼恩,生产环境 Nginx 后端服务大量 TIME-WAIT , 该怎么办? 除了Nginx进程之外,还有其他的后端服务如: 尼恩,生产环境…...
Linux服务器clang-13安装(环境变量配置)
1.从llvm的github网址选择合适的release合适的运行平台进行下载,下载官方预编译的二进制压缩包。 2.将下载好的压缩包进行本地上传。 使用scp命令进行上传 scp -r -P 端口号 本地文件路径 服务器ID等:服务器上目标地址 3.解压(tar命令) 4.环境变量配…...
【C++】C/C++内存管理模板初阶
文章目录一、 C/C内存管理1. C/C内存分布2. C内存管理方式3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式6. 常见面试题malloc/free和new/delete的区别内存泄漏二、模板初阶1. 泛型编程2. 函数模板3. 类模板一、 C/C内存管理 1. C/C内存分布 …...
笙默考试管理系统-index展示
public class PageList<T> : List<T> { public int PageIndex { get; private set; } //页索引 public int PageSize { get; private set; }//页大小 public int TotalPage { get; private set; }//总页数 public int TotalCo…...
前端基础知识6
谈谈你对语义化标签的理解语义化标签就是具有语义的标签,它可以清晰地向我们展示它的作用和用途。 清晰的代码结构:在页面没有css的情况下,也能够呈现出清晰的代码内容 有利于SEO: 爬虫依赖标签来确定关键字的权重,因此可以和搜索…...
【项目精选】智慧物业管理系统
点击下载源码 1、 选题的背景、研究目的和意义 1)选题的背景 智慧物业是物业发展的必然趋势,是物业管理的一种新理念,是 新形势下社会管理创新的一种新模式。 随着人工智能、大数据、互联网等高新技术的发展,物业管理企 业先后试…...
解决HC-05/HC06等蓝牙模块的调试问题
解决HC-05/HC06等蓝牙模块的调试问题问题:1.无法使用USB转串口工具设置HC-05等蓝牙模块,具体问题是:发送AT指令,无回复;2.电脑如何连接HC-05模块,与模块通信(具体场景:HC-05模块的串…...
dfs(八)数字的全排列 (含有重复项与非重复项)
如果每个数字任意取的话。就不需要加book标志位 没有重复项数字的全排列_牛客题霸_牛客网 描述 给出一组数字,返回该组数字的所有排列 例如: [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. (以数字在数组中的位…...
基于微信小程序的医院挂号系统小程序
文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…...
工程经验:残差连接对网络训练的巨大影响
文章目录1、没有使用残差连接的网络难以训练2、loss 不下降的原因3、使用了残差连接的网络可以高效训练1、没有使用残差连接的网络难以训练 经典的 SegNet 网络结构如下: 在使用上图所示的 SegNet 作为噪声预测网络训练扩散模型(DDPM)时&…...
靓号管理-搜索
搜索手机号: 最后一条就是使用的关键mobile__contains 使用字典: 后端的逻辑: """靓号列表"""data_dict {}search_data request.GET.get(q, "")# 根据关键字进行搜索,如果关键字存在&…...
B站发帖软件哪个好用?好用的哔哩哔哩发帖工具
B站发帖软件哪个好用?好用的哔哩哔哩发帖工具#发帖软件#哔哩哔哩发帖#视频发布软件 登录成功之后,进入到这样一个界面,默认情况下是这个样子的,我们在这里输入一下我们的一个文件夹的路径,输入到这里,点击添加账号&a…...
OpenClaw怎么部署?2026年3月OpenClaw(Clawdbot)在阿里云一键部署超全教程
OpenClaw怎么部署?2026年3月OpenClaw(Clawdbot)在阿里云一键部署超全教程。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环…...
避坑指南:Virtio-PCI设备初始化失败的6个常见原因及解决方案
Virtio-PCI设备初始化故障深度排查手册 虚拟化技术在现代数据中心的应用已无处不在,而Virtio作为半虚拟化的事实标准协议,其PCI设备初始化过程却常常成为运维人员的"暗礁区"。上周处理某金融云平台故障时,我发现一个反复出现的现象…...
C12832 LCD嵌入式驱动库详解:mbed平台128×32点阵显示开发指南
1. C12832 LCD驱动库概述C12832_lcd 是专为 mbed 应用开发板(Application Board)板载液晶显示屏设计的嵌入式驱动库。该显示屏型号为 C12832,是一款 12832 点阵、单色、COG(Chip-on-Glass)结构的 STN 液晶模块…...
摆脱论文困扰!高效论文写作全流程AI论文写作软件推荐(2026 最新)
论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节,2026年AI论文写作软件按环节精准匹配,兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求,覆盖免费/付费、通用/垂直场景…...
黑马点评技术汇总(一)验证码登录
一、session实现验证码登录总思路: 前端提交手机号发起code请求,服务端校验手机号是否符合格式,成功后生成验证码存入session并发送给用户。 用户提交手机号和验证码验证手机是否符合格式(这里有个bug)验证码是否和ses…...
《QGIS快速入门与应用基础》240:指北针旋转与大小调整
作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...
3步搞定Qobuz高品质音乐下载:QobuzDownloaderX-MOD完全指南 [特殊字符]
3步搞定Qobuz高品质音乐下载:QobuzDownloaderX-MOD完全指南 🎵 【免费下载链接】QobuzDownloaderX-MOD Downloads streams directly from Qobuz. Experimental refactoring of QobuzDownloaderX by AiiR 项目地址: https://gitcode.com/gh_mirrors/qo/…...
2026降AI率工具红黑榜:降AI率工具怎么选?一篇讲透
千笔AI、ThouPen、豆包是当前适配国内高校AI率检测规范的优质选择;需警惕低质免费工具、无正规检测对接、改写痕迹生硬的平台;建议按降AI效果、学术合规性、使用成本三维度筛选,优先匹配A-B-C模型。 一、红榜:10 款高分论文降AI率…...
Artisan咖啡烘焙专业级工具实战指南:从数据驱动到精准控制
Artisan咖啡烘焙专业级工具实战指南:从数据驱动到精准控制 【免费下载链接】artisan artisan: visual scope for coffee roasters 项目地址: https://gitcode.com/gh_mirrors/ar/artisan Artisan作为一款开源咖啡烘焙可视化软件,为专业烘焙师提供…...
Matlab粒子动画:3D爱心生成与动态模拟
1. 从零开始理解Matlab粒子动画 第一次看到3D爱心在屏幕上跳动时,那种震撼感至今难忘。作为理工科学生,我们常常用Matlab处理枯燥的数据,但很少有人知道它还能创作出如此浪漫的视觉效果。这就像用计算器弹钢琴——工具本身没有情感࿰…...
