簡體   English   中英

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

[英]How does % wildcard exactly work in sql when searching

我在“LIKE%Blabla%Another%”的部分看到了一個類似這樣的選擇語句,現在我自己嘗試了,我不清楚它是如何工作的。 我很困惑的是中間的%,我理解'%Blabla Another%'是如何工作的,但是以%作為空間的替代,我感到困惑。

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

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

  • :零個或多個字符的替代
  • _ :單個字符的替代品
  • [charlist] :要匹配的字符集和范圍
  • [!charlist] :僅匹配括號內未指定的字符

以下SQL語句選擇具有包含模式“es”的City的所有客戶

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

以下SQL語句選擇所有具有以任何字符開頭的City的客戶,后跟“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

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

如果你有一個字符串'abcdef'它將匹配例如'a%f',因為字符串開始並以a和f結束。

'%b%e%'也會匹配,因為它表示任何帶有b和偶數的字符串,按順序,但不一定是彼此相鄰

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

%匹配任意數量的字符,甚至零個字符。

_只匹配一個字符。

© dev.mysql.com

在SQL中,通配符與SQL LIKE運算符一起使用。

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

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

例如

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

這將選擇具有包含模式“es”的City的所有客戶。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM