SQLite GLOB 子句

SQLite GLOB運(yùn)算符用于使用通配符僅將文本值與模式匹配。如果搜索表達(dá)式可以與模式表達(dá)式匹配,則GLOB運(yùn)算符將返回true,即為1。與LIKE運(yùn)算符不同,GLOB區(qū)分大小寫,并且它遵循UNIX的語(yǔ)法來(lái)指定THE以下通配符。

  • 星號(hào)(*)

  • 問(wèn)號(hào)(?)

星號(hào)(*)表示零個(gè)或多個(gè)數(shù)字或字符。問(wèn)號(hào)(?)代表單個(gè)數(shù)字或字符。

語(yǔ)法

以下是基本語(yǔ)法*?

SELECT FROM table_name WHERE column GLOB 'XXXX*'
or 
SELECT FROM table_name WHERE column GLOB '*XXXX*'
or  
SELECT FROM table_name WHERE column GLOB 'XXXX?'
or  
SELECT FROM table_name WHERE column GLOB '?XXXX'
or  
SELECT FROM table_name WHERE column GLOB '?XXXX?'
or  
SELECT FROM table_name WHERE column GLOB '????'

您可以使用AND或OR運(yùn)算符組合多個(gè)條件。在此,XXXX可以是任何數(shù)字或字符串值。

在線示例

下表列出了許多示例,這些示例顯示W(wǎng)HERE部分的LIKE子句帶有不同的'*'和'?' 運(yùn)算符。

序號(hào)聲明與說(shuō)明
1

WHERE SALARY GLOB '200*'

查找以200開頭的任何值

2

WHERE SALARY GLOB '*200*'

查找任何位置有200的值

3

WHERE SALARY GLOB '?00*'

查找在第二和第三位置具有00的任何值

4

WHERE SALARY GLOB '2??'

查找以2開頭且長(zhǎng)度至少為3個(gè)字符的任何值

5

WHERE SALARY GLOB '*2'

查找以2結(jié)尾的任何值

6

WHERE SALARY GLOB '?2*3'

查找第二個(gè)位置帶有2并以3結(jié)尾的任何值

7

WHERE SALARY GLOB '2???3'

查找以2開頭和3結(jié)束的五位數(shù)數(shù)字中的任何值

讓我們以一個(gè)真實(shí)的實(shí)例為例,考慮帶有以下記錄的COMPANY表-

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個(gè)示例,它將顯示COMPANY表中的所有記錄,其中AGE以2開頭。

sqlite> SELECT * FROM COMPANY WHERE AGE  GLOB '2*';

這將產(chǎn)生以下結(jié)果。

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

以下是一個(gè)示例,它將顯示COMPANY表中的所有記錄,其中ADDRESS在文本內(nèi)將帶有連字符(-)-

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  GLOB '*-*';

這將產(chǎn)生以下結(jié)果。

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清