SQLite Glob语句
SQLite GLOB 运算符使用通配符仅将文本值与模式匹配。当搜索表达式与模式表达式匹配时,GLOB 运算符将返回 true,即 1。
GLOB 运算符遵循 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 '????'
示例:
我们有一个名为“STUDENT”的表,其中包含以下数据:
在这些示例中,WHERE 语句具有带有“*”和“?”运算符的不同 BLOB 子句:
SQL语句 | 描述 |
---|---|
WHERE FEES GLOB '200*' | 查找以 200 开头的任何值 |
WHERE FEES GLOB '*200*' | 查找任何位置有 200 的任何值 |
WHERE FEES GLOB '?00*' | 查找在第二个和第三个位置有 00 的任何值 |
WHERE FEES GLOB '?00*' | 查找以 2 开头且长度至少为 3 个字符的任何值 |
WHERE FEES GLOB'*2' | 查找以 2 结尾的任何值 |
WHERE FEES GLOB'*2' | 查找在第二个位置具有 2 并以 3 结尾的任何值 |
WHERE FEES GLOB '2???3' | 查找五位数字中以 2 开头并以 3 结尾的任何值 |
示例 1:
从“STUDENT”表中选择AGE以2开头的所有记录:
WHERE FEES GLOB '2???3'
输出结果:
示例2:
从表“STUDENT”中选择费用以 2 开头的所有记录:
SELECT * FROM STUDENT WHERE FEES GLOB '2*';
输出结果为:
热门文章
优秀文章