1.21. SQLite Glob clause

发布时间 : 2025-10-25 13:32:42 UTC      

Page Views: 9 views

SQLite’s GLOB Operator is a text value that matches the pattern specified by a wildcard. If the search expression matches the pattern expression, the GLOB operator returns true, which is 1. Unlike the LIKE operator, GLOB is case-sensitive and follows the syntax of UNIX for the following wildcards.

  • Asterisk (*)

  • Question mark (?)

The asterisk (*) represents zero, one, or more numbers or characters. The question mark (?) represents a single number or character. These symbols can be combined.

1.21.1. Grammar

* and? The basic syntax is as follows:

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 '????' 

You can use the AND Or OR Operator to combine N quantity conditions. Here, XXXX can be any number or string value.

1.21.2. Example

The following examples demonstrate the presence of’* ‘and’?’ Where the GLOB clause of the operator is different:

Statement

Description

WHERE SALARY GLOB '200*'

Find any value that starts with 200

WHERE SALARY GLOB '*200*'

Find any value that contains 200 anywhere

WHERE SALARY GLOB '?00*'

Find any value of the second and third bits that are 00

WHERE SALARY GLOB '2??'

Find any value that starts with 2 and is at least 3 characters long

WHERE SALARY GLOB '*2'

Find any value that ends in 2

WHERE SALARY GLOB '?2*3'

Find any value whose second bit is 2 and ends with 3

WHERE SALARY GLOB '2???3'

Find any value with a length of 5 digits that begins with 2 and ends with 3

Let’s give a practical example, assuming COMPANY The table has the following records:

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 

Here is an example that shows COMPANY In the table AGE All records that begin with 2:

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

This will produce the following results:

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 

Here is an example that shows COMPANY In the table ADDRESS All records in the text that contain a hyphen (-):

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

This will produce the following results:

ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 6 Kim 22 South-Hall 45000.0 
《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。