vs简易计算机等于号代码,等于(=)vs.

不同算子

LIKE和=是不同的操作者。这里的大多数答案都集中在通配符支持上,这并不是这些操作符之间唯一的区别!

=是对数字和字符串进行操作的比较运算符。比较字符串时,比较运算符将整串.

LIKE比较的字符串运算符。逐字逐句.

让事情变得更复杂的是,两个操作符都使用了校对这对比较的结果有重要的影响。

激励实例

让我们首先确定一个例子,其中这些操作符产生明显不同的结果。请允许我引用MySQL手册:根据SQL标准,类似于在每个字符的基础上执行匹配,因此它可以产生与=比较操作符不同的结果:

mysql> SELECT 'ä' LIKE 'ae' COLLATE latin1_german2_ci;

+-----------------------------------------+

| 'ä' LIKE 'ae' COLLATE latin1_german2_ci |

+-----------------------------------------+

|                                       0 |

+-----------------------------------------+

mysql> SELECT 'ä' = 'ae' COLLATE latin1_german2_ci;

+--------------------------------------+

| 'ä' = 'ae' COLLATE latin1_german2_ci |

+--------------------------------------+

|                                    1 |

+--------------------------------------+

请注意,MySQL手册的这一页名为字符串比较函数,和=没有讨论,这意味着=不是严格意义上的字符串比较函数。

如何=工作?

这个SQL标准§8.2描述如何=比较字符串:两个字符串的比较如下:

(A)如果X的字符长度不等于Y字符的长度,则为比较起见,将较短的字符串有效地替换为其自身的副本,该副本已通过在一个或多个PAD字符的右侧级联扩展到较长字符串的长度,其中基于CS选择PAD字符。如果CS有no pad属性,那么pad字符是一个与实现相关的字符,它不同于X和Y字符集中任何比CS下的任何字符串都要小的字符。否则,衬垫字符是。

(B)用比较序列CS给出了X和Y的比较结果。

c)根据排序顺序的不同,即使两个字符串的长度不同或包含不同的字符序列,它们也可以比较为相等。当操作MAX、MIN、DISTISTION、对分组列的引用以及UNION(除了)和IntersectOperator引用字符串时,这些操作从一组相同值中选择的特定值与实现有关。

(强调后加)

这是什么意思?这意味着当比较字符串时,=运算符只是当前排序规则的一个薄包装器。排序规则是具有比较字符串的各种规则的库。这里有一个例子MySQL的二进制排序:static int my_strnncoll_binary(const CHARSET_INFO *cs __attribute__((unused)),

const uchar *s, size_t slen,

const uchar *t, size_t tlen,

my_bool t_is_prefix){

size_t len= MY_MIN(slen,tlen);

int cmp= memcmp(s,t,len);

return cmp ? cmp : (int)((t_is_prefix ? len : slen) - tlen);}

这种特殊的排序规则碰巧是逐字节比较的(这就是为什么它被称为“二进制”-它没有赋予字符串任何特殊的意义)。其他排序可能提供更高级的比较。

例如,这里有一个UTF-8校对这支持不区分大小写的比较。代码太长,无法粘贴到这里,但请转到该链接并阅读my_strnncollsp_utf8mb4()..这种排序规则可以一次处理多个字节,并且可以应用各种转换(例如不区分大小写的比较)。这个=运算符是从变化无常的校对中完全抽象出来的。

如何LIKE工作?

这个SQL标准§8.5描述如何LIKE比较字符串:

M LIKE P

如果存在将M划分为子字符串的情况,则为真:

(I)M的子串是M的0或多个连续s的序列,而M的每个都是一个子字符串的一部分。

(Ii)如果P的第一个子字符串说明符是任意字符说明符,则M的第一个子字符串是任意一个。

如果P的第一个子字符串说明符是任意的字符串说明符,那么M的第一个子字符串就是0或更多s的任意序列。

(Iv)如果P的第一个子字符串说明符既不是任意字符说明符,也不是任意字符串说明符,则根据的排序序列,M的第I子字符串等于该子字符串说明符,而不将字符附加到M中,并且与该子字符串说明符具有相同的长度。

(V)M的子串数等于P的子串说明符的个数。

(强调后加)

这句话很冗长,所以让我们把它分解一下吧。第二项和第三项指通配符_和%分别。如果P不包含任何通配符,则只有第四项适用。这就是“任择议定书”提出的令人感兴趣的情况。

在本例中,它比较每个“子字符串”(单个字符)M中的每个子字符串P使用当前排序规则。

结论

底线是当比较字符串时,=比较整个字符串LIKE每次比较一个字符。这两个比较都使用当前排序规则。这种差异在某些情况下会导致不同的结果,正如本文的第一个例子所证明的那样。

你应该用哪一种?没有人能告诉你-你需要用正确的用例。不要过早地通过切换比较操作符来优化。

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

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

相关文章

逆水寒最新的服务器7月12日,《逆水寒》7月12日更新内容一览

六、 优化和调整1. 在论武中自动禁止辅助吃药功能,避免频繁提示“不可以吃非论武专用药”的消息。2. 优化队伍和帮会聊天频道的消息显示,减少大部分玩法提示消息在队伍和帮会频道的显示。3. 百里传音和千里传音不再会被系统消息顶掉。4. 为防止恶意刷屏&…

网站的服务器分哪几种,服务器有哪几种分类?_服务器可分为四种类型

办事器能够按使用分:OA办事器、数据库办事器、流媒体办事器、高机能计较办事器、逛戏办事器等。软盘接口是软盘取从机系统间的毗连部件,感化是正在软盘缓存和从机内存之间传输数据。分歧的软盘接口决定灭软盘取计较机之间的毗连速度,正在零个…

jqgrid ajax加载数据,如何通过ajax在jqgrid中加载数据(json)?

我有一个函数(在Java小服务程序)返回该JSON格式:[{"citta":"XXXX","via":"XXX","telefono":"1111-11111","provincia":"XX","clienteDesc":"Prova","cl…

ajax preview,In jQuery, using ajaxSend to preview the url built

How can I construct my ajaxSend call, this seems like the place to put it, to preview what is being passed back to the broker? also, can I stop the ajax call in ajaxSend?..so I can perfect my url string before dealing with errors from the broker?This is…

ajax可以发送文件,通过Ajax上传img时如何发送文件信息

我正在尝试拆分上传到ajax方法的图像文件。所有的html和JS都在一个文件中,然后我组成了一个包含所有PHP的PHP文件。我正在努力的是,我不确定如何将图像文件信息发送到php文件,然后如何使其余的php照常工作。截至目前,这行代码$p_i…

就业信息网进行服务器维护,服务器安全武汉大学黄石理工学院就业信息网.pptx...

构建安全的网站服务器;武汉大学网络拓扑; 对任何网络应用来说,网站服务器都是必不可少的,但服务器的安全一直是另人烦恼的问题。如何配置一台相对安全的服务器是我们必须要了解的,由于Windows系统的漏洞和安全问题相对而言比较多,…

ajax接受的格式,关于ajax接受json格式的数据

var xmlHttp "";function getXmlHttpRequest(){if(window.XMLHttpRequest)xmlHttp new XMLHttpRequest();elsexmlHttp new ActiveXObject("Microsoft.XMLHttp");return xmlHttp;}function checkName(){//获得HttpRequest对象xmlHttp getXmlHttpRequest…

英雄联盟服务器维护3月17,英雄联盟将于3月17日凌晨2点开始进行全区停机维护...

原标题:英雄联盟全区停机维护公告英雄联盟将于3月17日凌晨2点开始进行全区停机维护,公告如下:我们将于3月17日2点开始全区停机维护以进行后台服务升级,预计在凌晨1点关闭排位赛入口,不会影响正在进行中的排位赛。预计停…

网站服务器时间秒杀,Javascript实现商品秒杀倒计时(时间与服务器时间同步)...

现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时。关于倒计时,有下面几点需要注意:1.应该使用服务器时间而不是本地时间(本地时间存在时区不同、用户自行设置等问题)。2.要考虑网络传输的耗时。3.获取时间时可直接从AJAX…

i7 8700 服务器系统,i7 8700k 云服务器

i7 8700k 云服务器 内容精选换一换您可以在几分钟之内快速获得基于公有云平台的弹性云服务器设施,并且这些设施是弹性的,可以根据需求伸缩。该任务指导用户如何创建支持IB网卡的弹性云服务器,包括管理控制台方式和基于HTTPS请求的API(Applica…

(教程)2020最新windows10/anaconda/pytorch-gpu环境配置(附CUDA/cuDNN配置)

(教程)2020最新windows10/anaconda/pytorch-gpu环境配置(附CUDA/cuDNN配置) 环境:windows10 nvidia 165ti 1. 安装anaconda3,自行安装 https://www.anaconda.com/download/ 安装完成后,配置…

信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 )

信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 ) 原始图片 灰度处理 编码生成的…

教你如何使用hexo以及nginx、github搭建属于自己的博客(操心的妈妈级教学)

教你如何使用hexo以及nginx、github搭建属于自己的博客(妈妈级教学) ~~ 1.解释一下你要的服务器的效果以及对应的操作 ~~ 首先你要有自己的一台服务器,可以是云服务器,或者你可以用自己的电脑作为服务器,&#xff0…

IndexError: invalid index of a 0-dim tensor. Use `tensor.item()` in Python or `tensor.item<T>()` in

使用python pytorch框架出现问题&#xff1a; IndexError: invalid index of a 0-dim tensor. Use tensor.item() in Python or tensor.item<T>() in C to convert a 0-dim tensor to a number 修改loss.data[0]为loss.item() 例&#xff1a; if (i1) % 100 0:print…

Python enumerate函数

Python enumerate函数 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列&#xff0c;同时列出数据和数据下标&#xff0c;一般用在 for 循环当中。 Python 2.3. 以上版本可用&#xff0c;2.6 添加 start 参数。 语法 以下是 enu…

(菜鸟入门)使用pytorch框架实现前馈神经网络

前馈神经网络 常见的前馈神经网络有感知机&#xff08;Perceptrons&#xff09;、BP&#xff08;Back Propagation&#xff09;网络等。前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的…

Windows下如何如何将项目上传至GitHub?

安装git客户端 进入官网&#xff0c;点击右侧下载windows版本的软件包 如果下载慢的话&#xff0c;给一个传送门&#xff0c;可以快速下载&#xff1a; 双击安装 一直点击下一步就可&#xff0c;安装位置可以自己选择一下 Github创建仓库 填写项目名称以及ba…

(pytorch-深度学习系列)pytorch卷积层与池化层输出的尺寸的计算公式详解

pytorch卷积层与池化层输出的尺寸的计算公式详解 注&#xff1a;这篇blog写的不够完善&#xff0c;在后面的CNN网络分析padding和stride详细讲了公式&#xff0c;感兴趣的可以移步这里&#xff1a;卷积神经网络中的填充(padding)和步幅(stride) 要设计卷积神经网络的结构&…

(pytorch-深度学习系列)使用Pytorch实现小型卷积神经网络网络

卷积层 卷积神经网络中每层卷积层&#xff08;Convolutional layer&#xff09;由若干卷积单元组成&#xff0c;每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征&#xff0c;第一层卷积层可能只能提取一些低级的特征如边缘、线条和角…

RuntimeError: size mismatch, m1: [80 x 4], m2: [320 x 50] at ..\aten\src\TH/generic/THTensorMath.cpp

RuntimeError: size mismatch, m1: [80 x 4], m2: [320 x 50] at …\aten\src\TH/generic/THTensorMath.cpp:41 使用pytorch进行深度学习的训练会出现这种问题&#xff0c;原因是fc全连接层的输入维度问题&#xff0c;由于输入是二维的数据&#xff0c;很多时候在输入全连接层…