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