English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

جملة GLOB SQLite

SQLite GLOBاستخدام علامات التبويب للسماح فقط بتماثل القيم النصية مع النمط. إذا كان تعبير البحث يمكنه التطابق مع تعبير النمط، فإن عمود GLOB سيعود صحيحًا، أي 1. يختلف GLOB عن عمود LIKE في أنه يفرق بين الحروف الكبيرة والصغيرة ويتبع نحو UNIX لتعريف التالي من علامات التبديل.

  • النجم (* )

  • العلامة (?)

النجم (* ) يعني أي عدد من الأرقام أو الأحرف. العلامة (?) تمثل حرفًا أو رقمًا واحدًا فقط.

النحو

هذه هي النحو الأساسي*وال?

SELECT FROM table_name WHERE column GLOB 'XXXX*'
أو 
SELECT FROM table_name WHERE column GLOB '*XXXX*'
أو  
SELECT FROM table_name WHERE column GLOB 'XXXX?'
أو  
SELECT FROM table_name WHERE column GLOB '?XXXX'
أو  
SELECT FROM table_name WHERE column GLOB '?XXXX?'
أو  
SELECT FROM table_name WHERE column GLOB '????'

يمكنك استخدام عمليات AND أو OR لدمج عدة شروط. هنا،XXXX يمكن أن يكون أي قيمة رقمية أو نصية.

在线示例

下表列出了许多示例,这些示例显示WHERE部分的LIKE子句带有不同的'*'和'?' 运算符。

序号声明与说明
1

WHERE SALARY GLOB '200*'

查找以200开头的任何值

2

WHERE SALARY GLOB '*200*'

查找任何位置有200的值

3

WHERE SALARY GLOB '?00*'

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

4

WHERE SALARY GLOB '2??'

查找以2开头且长度至少为3个字符的任何值

5

WHERE SALARY GLOB '*2'

查找以2结尾的任何值

6

WHERE SALARY GLOB '?2*3'

查找第二个位置带有2并以3结尾的任何值

7

WHERE SALARY GLOB '2???3'

查找以2开头和3结束的五位数数字中的任何值

让我们以一个真实的实例为例,考虑带有以下记录的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

下面是一个示例,它将显示COMPANY表中的所有记录,其中AGE以2开头。

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

这将产生以下结果。

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

以下是一个示例,它将显示COMPANY表中的所有记录,其中ADDRESS在文本内将带有连字符(-)-

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

这将产生以下结果。

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0