%wildcard在搜索时如何在sql中正常工作

时间:2016-07-02 08:05:33

标签: mysql sql select wildcard sql-like

我看到了一个选择声明,其中有类似的东西在哪个部分' LIKE%Blabla%另一个%',现在我自己尝试了,我不清楚它是如何工作的。我感到困惑的是中间的百分比,我理解'%Blabla另一个%'虽然有%作为空间的替代品,但我很困惑。

5 个答案:

答案 0 :(得分:2)

%表示“任何字符序列,包括空字符”。因此LIKE '%Blabla%Another%'会匹配,例如'XYZBlablaABCAnotherPQR''BlablaAnother'' Blabla Another '

答案 1 :(得分:1)

以下是您可以使用的通配符列表,以及一些示例。

  • :零个或多个字符的替代
  • _ :替换单个字符
  • [charlist] :设置匹配的字符数和范围
  • [!charlist] :仅匹配未在括号内指定的字符

以下SQL语句选择具有包含模式" es"

的City的所有客户
  • SELECT * FROM Customers WHERE City LIKE'%es%'

以下SQL语句选择所有具有以任何字符开头的城市的客户,然后选择" erlin":

  • SELECT * FROM Customers WHERE City LIKE' _erlin'

以下SQL语句选择所有城市以" b"," s"或" p"

开头的客户
  • SELECT * FROM Customers WHERE City LIKE' [bsp]%'

以下SQL语句选择所有城市不是以" b"," s"或" p"开始的客户:

  • SELECT * FROM Customers WHERE City LIKE' [!bsp]%'

来源:http://www.w3schools.com/sql/sql_wildcards.asp

答案 2 :(得分:0)

%表示任何(包括无)字符。

如果你有一个字符串'abcdef',它会匹配例如'a%f',因为字符串以a和f结尾。

'%b%e%'也会匹配,因为它表示任何带有b和偶数的字符串,按顺序,但不一定是彼此相邻

答案 3 :(得分:0)

使用LIKE,您可以在模式中使用以下两个通配符:

%匹配任意数量的字符,即使是零个字符。

_只匹配一个字符。

©dev.mysql.com

答案 4 :(得分:0)

在SQL中,通配符与SQL LIKE运算符一起使用。

sql%,_,[charlist],[^ charlist]中有通配符。

%wild cards是零个或多个字符的替代。

例如

 SELECT * FROM Customers
    WHERE City LIKE '%es%';

这将选择具有包含模式" es"。

的城市的所有客户

所以在这里你可以看到%通配符充当空格或空格字符。

相关问题