数据库之运算符

目录

一、算数运算符

二、比较运算符

1.常用比较运算符

2.实现特殊功能的比较运算符

三、逻辑运算符

1.逻辑与运算符(&&或者AND)

2.逻辑或运算符(||或者OR)

3.逻辑非运算符(!或者NOT)

4.逻辑异或运算符(XOR)

四、位运算符

1.位与运算符(&)

2.位或运算符(|)

3.位异或运算符(^)

4.位左移(<<)和位右移(>>)运算符

5.位取反运算符(~)

五、运算符的优先级


一、算数运算符

算数运算符是MySQL中最基本的运算符,主要用于执行数值运算。

运算符

作用

+

执行加法运算,用于获得一个或多个值的和

-

执行减法运算,用于从一个值中减去另一个值

*

执行乘法运算,得到两个或多个值的乘积

/

执行除法运算,用一个值除以另一个值得到商

%

执行求余运算,用一个值除以另一个值得到余数


二、比较运算符

比较运算符的作用是将表达式中的两个操作数进行比较,比较结果为真,则返回1,为假则返回0,结果不确定则返回NULL。

运算符

作用

=(<=>)

等于

<

小于

>

大于

<=

小于等于

>=

大于等于

<>(!=)

不等于

BETWEEN AND

判断一个值是否在两个值之间

IN

判断一个值是否在某个集合中

IS NULL

判断一个值是否为NULL

LIKE

通配符匹配,判断一个值是否包含某个字符

REGEXP

正则表达式匹配


1.常用比较运算符

1.等于运算符

“=”和“<=>”用于判断数字、字符串和表达式是否相等,“<=>”还可以用于NULL(空值)之间的比较。

如果两个操作数中有一个或两个值为NULL(空值),结果为空;如果两个操作数分别为字符串和数值,系统会首先将字符串转换成数值,然后再进行比较。

2.不等于运算符

“<>”和“!=”用于判断数字、字符串和表达式是否相等,如果不相等则返回1,否则返回0.其用法与等于运算符用法相同,但不能操作NULL(空值)。

3.其他常用比较运算符

“<”“>”“<=”和“>=”4种运算符用于比较数字、字符串和表达式,如果比较结果为真则返回1,否则返回0。这些运算符也不能操作NULL(空值)。

如果使用上述4种运算符进行比较的两个操作数为字符串,系统会比较两个字符串的长度,但两个操作数不能一个为数值,一个为字符串。


2.实现特殊功能的比较运算符

正则表达式匹配的REGEXP运算符的应用。

通配符

作用

^

匹配字符串的开始部分。例如,^b匹配以字母b开始的字符串

$

匹配字符串的结束部分。例如,st$匹配以st结束的字符串

.

匹配除换行符’\n’之外的任何单个字符。例如,b.t匹配bit,bat,but等

[...]

匹配方括号中(字符集合)所包含的任意一个字符。例如,[a-z]匹配字母表26个字母中的任意一个字母

[^...]

匹配字符集合未包含的任意一个字符。例如,’[^a]’可以匹配除’a’之外的任意一个字符

p1|p2

匹配p1或p2。例如,’k|cat’能匹配到’k’或’cat’。’(k|c)at’可以匹配’kat’或’cat’

*

匹配符号*前面的零个或多个字符。例如,’ao*’能匹配’a’以及’aoo’,[0-9]*匹配任意数量的数字

+

匹配符号+前面的字符一次或多次。例如,’ao+’能匹配’ao’以及’aoo’

{n}

匹配符号前面的字符至少n次。例如,’o{2}’能匹配’food’,但不能匹配’dog’

{n,m}

匹配符号前面的字符至少n次,至多m次。例如,b{2,4}匹配包含至少2个,至多4个b的字符串。


三、逻辑运算符

逻辑运算符又称为布尔运算符,用于确定表达式的真和假。

运算符

作用

&&(AND)

逻辑与

||(OR)

逻辑或

!(NOT)

逻辑非

XOR

逻辑异或


1.逻辑与运算符(&&或者AND)

“&&”和“AND”表示逻辑与运算,当所有操作数均为非零值,并且不为NULL时,返回值为1;当一个或多个操作数为0时,返回值为0;当任何一个操作数为NULL,其他操作数为非零值时,返回值为NULL。

使用“&&”和“AND”运算符可以有多个操作数同时进行与运算。

2.逻辑或运算符(||或者OR)

“||”和“OR”表示逻辑或运算,当所有操作数均为非NULL值时,如有任意一个操作数为非零值,返回值为1;当一个操作数为非零值,另外的操作数为NULL时,返回值为1;当所有操作数为NULL时,返回值为NULL;当所有操作数为0时,返回值为0。

3.逻辑非运算符(!或者NOT)

“!”和“NOT”表示逻辑非运算,返回和操作数相反结果。当操作数为0时,返回值为1;当操作数为非零值时,返回值为0;当操作数为NULL时,返回值为NULL。

4.逻辑异或运算符(XOR)

“XOR”表示逻辑异或运算,当两个操作数同时为0或者同为非零值时,返回值为0;当两个操作数一个为非零值,一个为0时,返回值为1;当任意一个操作数为NULL时,返回值为NULL。


四、位运算符

位运算符是将给定的操作数转换为二进制数,然后对各个操作数的每一位进行指定的逻辑运算,最后将二进制结果转换为十进制数,得到位运算的结果。

运算符

作用

&

位与

|

位或

^

位异或

<<

位左移

>>

位右移

~

位取反


1.位与运算符(&)

位与运算是将操作数转换为二进制数后进行按位与运算。在这种运算中,如果对应的二进制位全部为1,则该位的运算结果为1,其他情况运算结果为0。

2.位或运算符(|)

位或运算是将操作数转换为二进制数后进行按位或运算。在这种运算中,如果对应的二进制位有一个或多个为1,则该位的运算结果为1.其他情况运算结果为0。

3.位异或运算符(^)

位异或运算符是将操作数转换为二进制数后进行按位异或运算。在这种运算中,如果对应的二进制位不相同,则该位的运算结果为1,否则为0。

4.位左移(<<)和位右移(>>)运算符

位左移和位右移运算是将操作数转换为二进制数后,使二进制位全部左移或全部右移指定的位数,如果向左移则右边补0,如果向右移则左边补0,移除的位数将被抛弃,最后将移动后的结果转换成十进制数即可。

5.位取反运算符(~)

位取反运算是将操作数转换为二进制数后,对二进制数进行逐位反转,即1取反后变0,0取反后变1。


五、运算符的优先级

优先级

运算符

1

:=(赋值运算)

2

||,OR

3

XOR

4

&&,AND

5

NOT

6

BETWEEN AND,CASE,WHERE,THEN,ELSE

7

=(比较运算),<=>,<,>,>=,<=,<>,!=,IN,IS NULL,LIKE,REGEXP

8

|

9

&

10

<<,>>

11

-(减法运算),+

12

*,/,%

13

^

14

-(负号),~

15

!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试中的压力测试和性能测试区别

压力测试和性能测试是软件测试中两种重要的测试类型&#xff0c;它们都旨在评估软件在不同条件下的表现&#xff0c;但侧重点和目的有所不同。 压力测试&#xff08;Stress Testing&#xff09;定义&#xff1a; 压力测试是一种测试方法&#xff0c;用于确定软件在极端条件下…

BP神经网络及其Python和MATLAB实现预测

## 一、背景 BP&#xff08;Back Propagation&#xff09;神经网络是多层前馈神经网络的一种&#xff0c;广泛应用于模式识别、数据挖掘、机器学习等领域。随着人工智能与机器学习技术的快速发展&#xff0c;BP神经网络作为一种基础的神经网络模型&#xff0c;已经成为研究和应…

安卓开机启动性能优化之-bootchart相关工具使用及查看

背景&#xff1a; 开机启动相关的详细信息&#xff0c;一般都是可以通过logcat中查看boot_progress相关查看&#xff0c;这种方式查看相对不那么方便&#xff0c;毕竟开机过程中涉及的进程较多&#xff0c;要查看也较多&#xff0c;而且还经常需要查看代码才可以对应起来&…

前端系列-8 集中式状态管理工具pinia

集中式状态管理工具—pinia vue3中使用pinia作为集中式状态管理工具&#xff0c;替代vue2中的vuex。 pinia文档可参考: https://pinia.web3doc.top/introduction.html 1.项目集成pinia 安装pinia依赖: npm install pinia在main.ts中引入pinia import { createApp } from vu…

Facebook和Instagram运营中的注意事项和QA

Facebook注意事项 1.Facebook的几种违规行为&#xff1a;加好友过快或者过多&#xff1b;加群过快或者过多&#xff1b;转 发信息到群过快或者过多&#xff1b;创建主页过快或者过多&#xff1b;创建群过快或者过多&#xff1b; 主动给人发信息过多&#xff1b;IP、浏览器更换&…

spring框架实现滑动验证码功能

spring框架实现滑动验证码功能 1. 整体描述2. 具体实现2.1 滑动验证码实体类2.2 滑动验证码登录VO2.3 滑动验证码接口返回类2.4 滑动验证码工具类2.5 滑动验证码Service2.6 滑动验证码Controller 3 工程源码4 总结 1. 整体描述 之前项目需要在验证码模块&#xff0c;增加滑动验…

Android中接入hook框架:lancet-base

me.ele:lancet-base是"饿了么"开发的Android平台的开源hook框架&#xff0c;GitHub地址为&#xff1a;https://github.com/eleme/lancet。 此框架的优点如下&#xff1a; 1.编译速度快, 并且支持增量编译。 2.简洁的 API, 几行 Java 代码完成注入需求。 3.没有任何多…

Dataview的初次学习

一个很简单的例子 list from "" where contains(file.name,"教程")详细介绍 目的不是花哨&#xff0c;而是精简的整合自己的笔记&#xff0c;方便查找和翻阅。 代码块开头都省略了dataview提示词 我参考的教程&#xff1a; obsidian插件之dataview入门…

MongoDB教程 :MongoDB全文检索

MongoDB Full-Text Search Tutorial MongoDB provides a robust full-text search functionality that allows for efficient and powerful text searching capabilities. Here’s a comprehensive guide on how to utilize MongoDB’s full-text search. 1. Setting Up Mong…

【日常记录-JS】获取URL参数

Author&#xff1a;赵志乾 Date&#xff1a;2024-07-24 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 简介 实际项目中经常有些落地页会携带参数&#xff0c;并要求在发起请求时将携带的参数一并传递至后台服务。例如两个独立系统A和B&…

Linux系统上安装zookeeper

百度网盘 通过网盘分享的文件&#xff1a;zookeeper_linux 链接: https://pan.baidu.com/s/1_hybXZVwTRkotz0VbwbSMw?pwd8888 提取码: 8888 1.将压缩包拖进虚拟机 2.解压压缩包 cd /ruanjian/zookeeper/ tar -zxvf apache-ZooKeeper-3.7.2-bin.tar.gz3. 进入到conf目录 cd …

《python程序语言设计》第6章12题 显示字符,使用下面的函数头,编写一个打印字符的函数

def printChars(ch1, ch2, numberPerLine):a ord(ch1)b ord(ch2)count 0for i in range(a, b 1):count 1print(chr(i), end" ")if count % numberPerLine 0:print()printChars("1", "Z", 10)

以FastGPT为例提升Rag知识库应用中的检索召回命中率

提升Rag知识库应用中的检索召回命中率 在构建Rag&#xff08;Retrieval-Augmented Generation&#xff09;知识库应用时&#xff0c;检索召回知识片段的命中率是至关重要的。高效、准确的检索机制是确保AI系统能够精准响应用户查询的基础。当前&#xff0c;FastGPT主要采用三种…

使用python中的特殊字典——defaultdict

专栏总目录 一、defaultdict说明 在Python中是一个特殊类型的字典&#xff0c;它是collections模块中的一个类defaultdict的实例。这个字典与普通的字典dict不同之处在于&#xff0c;当你试图访问一个不存在的键时&#xff0c;defaultdict会自动创建一个新条目&#xff0c;其值…

使用SpringBoot集成Kafka实现用户数据变更后发送消息

概述 当使用Spring Boot集成Kafka实现用户数据变更后&#xff0c;向其他厂商发送消息&#xff0c;我们需要考虑以下步骤&#xff1a;配置Kafka连接、创建Kafka Producer发送消息、监听用户数据变更事件&#xff0c;并将事件转发到Kafka。 1. 环境准备 确保已经安装Java开发环…

【java基础】java中配置文件格式以及读取方式

在Java中&#xff0c;配置文件可以采用多种格式&#xff0c;每种格式都有其特定的使用场景和优势。以下是一些常见的配置文件格式以及如何在Java中读取它们的方法&#xff1a; 1. Properties 文件 (.properties) Properties 文件是一种常见的配置文件格式&#xff0c;它使用键…

C++沉思:预处理和编译

预处理和编译 条件编译源代码使用方式典型示例原理 使用static_assert执行编译时断言检查使用方式原理 在C中&#xff0c;编译是将源代码转换为机器代码并组织在目标文件中&#xff0c;然后将目标文件链接在一起生成可执行文件的过程。编译器实际上一次只处理一个文件&#xff…

Oracle核心进程详解并kill验证

Oracle核心进程详解并kill验证 文章目录 Oracle核心进程详解并kill验证一、说明二、核心进程详解2.1.PMON-进程监控进程2.2.SMON-系统监控进程2.3.DBWn-数据库块写入进程2.4. LGWR-日志写入器进程2.5. CKPT-检查点进程 三、Kill验证3.1.kill ckpt进程3.2.kill pmon进程3.3.kill…

智慧工地视频汇聚管理平台:打造现代化工程管理的全新视界

一、方案背景 科技高速发展的今天&#xff0c;工地施工已发生翻天覆地的变化&#xff0c;传统工地管理模式很容易造成工地管理混乱、安全事故、数据延迟等问题&#xff0c;人力资源的不足也进一步加剧了监管不到位的局面&#xff0c;严重影响了施工进度质量和安全。 视频监控…

中小企业数字化转型的关键五步,你了解吗?

在信息技术迅猛发展的当下&#xff0c;数字化转型已成为中小企业提升竞争力、实现可持续发展的关键策略。在数字化转型过程中&#xff0c;工业软件作为贯穿生产全流程的智能化引擎&#xff0c;其选择与应用显得尤为关键。那么&#xff0c;中小企业应如何科学合理的规划数字化转…