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