Latest web development tutorials

Klauzula SQLite Glob

SQLite OperatorGLOB służy do dopasowywania określoną wartość tekstowa symboli wieloznacznych.Jeśli wyrażenie wyszukiwania i dopasowywania wzoru ekspresji, operator GLOB zwraca wartość true (prawda), który jest jeden. A operator LIKE jest inny, GLOB jest wielkość liter, z następujących symboli wieloznacznych, które towarzyszą mu składni UNIX.

  • Gwiazdka (*)

  • Znak zapytania (?)

Gwiazdka (*) oznacza zero, jeden lub więcej cyfr lub znaków. Znak zapytania (?) Reprezentuje jedną cyfrę lub znak. Symbole te mogą być stosowane w kombinacji.

gramatyka

*? A składnia podstawowa jest następujący:

Wybierz jedną z table_name
GDZIE kolumna GLOB "XXXX * '

lub 

Wybierz jedną z table_name
GDZIE kolumna GLOB '* XXXX *'

lub

Wybierz jedną z table_name
GDZIE kolumna GLOB "XXXX?

lub

Wybierz jedną z table_name
GDZIE kolumna GLOB? "XXXX"

lub

Wybierz jedną z table_name
GDZIE kolumna GLOB "? XXXX?

lub

Wybierz jedną z table_name
GDZIE kolumna GLOB "????"

Można użyć operatora AND lub OR połączyć liczbę N warunkach. Tutaj XXXX może być dowolną liczbę lub łańcuch wartości.

Przykłady

Poniższe przykłady przedstawiają różne miejsca klauzuli GLOB z '*' i operatorów "?":

语句描述
WHERE SALARY GLOB '200*'查找以 200 开头的任意值
WHERE SALARY GLOB '*200*'查找任意位置包含 200 的任意值
WHERE SALARY GLOB '?00*'查找第二位和第三位为 00 的任意值
WHERE SALARY GLOB '2??'查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY GLOB '*2'查找以 2 结尾的任意值
WHERE SALARY GLOB '?2*3'查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY GLOB '2???3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

Weźmy praktyczny przykład, załóżmy, że tabela Spółka posiada następujące zapisy:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
1 Paweł 32 California 20000,0
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Oto przykład, pokazuje tabela Company 2 AGE wszystkie rekordy zaczynające się od:

sqlite> SELECT * FROM firma Gdzie AGE GLOB "2 * ';

To daje następujące wyniki:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
3 Teddy 23 Norwegia 20000,0
4 Mark 25 Rich-Mond 65000,0
5 Dawid 27 Texas 85000,0
6 Kim 22 South-Hall 45000,0
7 James 24 Houston 10000,0

Oto przykład, wyświetla tekst tabela SPÓŁKA ADRES zawiera łącznik (-) wszelkie rekordy:

sqlite> SELECT * FROM firma Gdzie ADRES GLOB "* - * ';

To daje następujące wyniki:

NAZWA ID AGE ADRES WYNAGRODZENIE
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000,0
6 Kim 22 South-Hall 45000,0