Latest web development tutorials

cláusula de SQLite Glob

SQLite O operadorGLOB é usado para corresponder a um padrão de curinga valor de texto especificado.Se a expressão de pesquisa e expressão padrão de correspondência, operador GLOB retorna verdadeiro (true), que é 1. E o operador LIKE é diferente, GLOB é sensível a maiúsculas, para as seguintes curingas, que segue a sintaxe UNIX.

  • Um asterisco (*)

  • O ponto de interrogação (?)

Um asterisco (*) representa zero, um ou mais dígitos ou caracteres. O ponto de interrogação (?) Representa um único dígito ou caractere. Estes símbolos podem ser usados ​​em combinação.

gramática

? * E a sintaxe básica é a seguinte:

SELECT FROM table_name
ONDE GLOB coluna 'XXXX *'

ou 

SELECT FROM table_name
ONDE GLOB coluna '* XXXX *'

ou

SELECT FROM table_name
ONDE GLOB coluna 'XXXX?

ou

SELECT FROM table_name
ONDE GLOB coluna '? XXXX'

ou

SELECT FROM table_name
ONDE GLOB coluna '? XXXX?

ou

SELECT FROM table_name
ONDE GLOB coluna '????'

Você pode usar o operador AND ou OR para combinar o número N de condições. Aqui, XXXX pode ser qualquer número ou cadeia de valor.

Exemplos

Os exemplos a seguir demonstram a cláusula GLOB diferentes lugares com '*' e operadores '?':

语句描述
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 结尾的任意值

Vamos dar um exemplo prático, mesa COMPANY suponha que tem os seguintes registros:

ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norway 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

Aqui está um exemplo, ele mostra a AGE tabela Company 2 todos os registros que começam com:

sqlite> SELECT * FROM empresa onde AGE GLOB '2 *';

Isto produz os seguintes resultados:

ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norway 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

Aqui está um exemplo, ele exibe tabela ADDRESS texto COMPANY contém um hífen (-) todos os registros:

sqlite> SELECT * FROM empresa onde ENDEREÇO ​​GLOB '* - *';

Isto produz os seguintes resultados:

ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
6 Kim 22 Sul-Hall 45.000,0