数据库like前匹配快还是in

数据库like前匹配快还是in,第1张

数据库前匹配快in。

like最差,特别是以%(有的数据库是*)开头的匹配,是无法进行索引的,只有顺序扫描。

首先是=,表示值必须是一个特定的值。然后是in,表示值是几个特定的值中的一个。最后是like,通过匹配来查找值。其实还有一个is,只为null使用。

SQL对like *** 作中的特殊字符处理方法:

SQL Server查询过程中,单引号 ' 是特殊字符,所以在查询的时候要转换成双单引号 '' 。

在like *** 作还有以下特殊字符:下划线_,百分号%,方括号[],尖号^。 其用途如下:下划线:用于代替一个任意字符(相当于正则表达式中的 ? ) 百分号:用于代替任意数目的任意字符(相当于正则表达式中的 * )。

方括号:用于转义(事实上只有左方括号用于转义,右方括号使用最近优先原则匹配最近的左方括号)。

尖号:用于排除一些字符进行匹配(这个与正则表达式中的一样)。

通俗说like 是查询具有同一类特征的元素,%是通配符号

举个简单例子 在表table中,有个name字段, 有3个数据 : tom tom_a jack

如果你写 select name from table like 'tom%'

结果tom tom_a 都列出来了

也就是说%是代替未知的符号,只要符合前面的要求就行。

楼主这么聪明应该理解了吧,哈哈~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10060652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存