加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL–用通配符进行过滤(LIKE操作符)

发布时间:2022-12-03 21:33:31 所属栏目:MySql教程 来源:网络
导读: 1、LIKE操作符
怎样搜索产品名中包含文本anvil的所有产品?用简单的比较操作符肯定不行,必须使用通配符。利用通配符可创建比较特定数据的搜索模式。在这个例子中,如果你想找出名称包含an

1、LIKE操作符

怎样搜索产品名中包含文本anvil的所有产品?用简单的比较操作符肯定不行,必须使用通配符。利用通配符可创建比较特定数据的搜索模式。在这个例子中,如果你想找出名称包含anvil的所有产品,可构造一个通配符搜索模式,找出产品名中任何位置出现anvil的产品。

通配符( wildcard ) 用来匹配值的一部分的特殊字符。

搜索模式( search pattern ) 由字面值、通配符或两者组合构成的搜索条件。

通配符本身实际是SQL的WHERE子句中有特殊含义的字符, SQL支持几种通配符。

为在搜索子句中使用通配符,必须使用LIKE操作符。 LIKE指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

最常使用的通配符是百分号( %)。在搜索串中mysql通配符使用, %表示任何字符出现任意次数。

此例子使用了搜索模式’jet%’。在执行这条子句时,将检索任意以jet起头的词。 %告诉MySQL接受jet之后的任意字符,不

管它有多少字符。

通配符可在搜索模式中任意位置使用,并且可以使用多个通配符。

下面的例子使用两个通配符,它们位于模式的两端:

搜索模式’%anvil%’表示匹配任何位置包含文本anvil的值,而不论它之前或之后出现什么字符。

通配符也可以出现在搜索模式的中间,虽然这样做不太有用。下面的例子找出以s起头以e结尾的所有产品:

下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符。

此WHERE子句中的搜索模式给出了后面跟有文本的两个通配符。结果只显示匹配搜索模式的行:第一行中下划线匹配1,

第二行中匹配2。 .5 ton anvil产品没有匹配,因为搜索模式要求匹配两个通配符而不是一个。

2、使用通配符的技巧

①不会过度使用通配符。如果其他运营商可以达到相同的目的,就应该使用其他运营商。

[En]

① do not overuse wildcards. If other operators can achieve the same purpose, other operators should be used.

当②确实需要使用通配符时,除非绝对必要,否则不要在搜索模式的开头使用它们。将通配符放在搜索模式的开头是搜索速度最慢的。

[En]

When ② does need to use wildcards, don’t use them at the beginning of the search pattern unless absolutely necessary. Putting wildcards at the beginning of the search pattern is the slowest to search.

③密切关注通配符的位置。如果放错了位置,可能无法返回所需的数据。

[En]

③ pays close attention to the position of wildcards. If misplaced, the desired data may not be returned.

简而言之,通配符是一个极其重要和有用的搜索工具,我们在未来将经常使用它。

[En]

In short, wildcards are an extremely important and useful search tool, and we will often use it in the future.

Original:

Author: 徐若离

Title: MySQL–用通配符进行过滤(LIKE操作符)

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!