SQLite的GLOB运算符仅文本值对使用通配符模式相匹配。当搜索表达式被与图案表达式匹配,则操作者GLOB将返回true为1。
的操作者GLOB如下UNIX的语法用于指定以下通配符。
- 星号符号(*):该标志表示零个或多个号码或字符
- 问号(?):这个标志代表一个数字或字符。
语法星号标志:
SELECT FROM table_name
WHERE column GLOB 'XXXX*'
or
SELECT FROM table_name
WHERE column GLOB '*XXXX*'
语法问号:
SELECT FROM table_name
WHERE column GLOB 'XXXX?'
or
SELECT FROM table_name
WHERE column GLOB '?XXXX'
or
SELECT FROM table_name
WHERE column GLOB '?XXXX?'
or
SELECT FROM table_name
WHERE column GLOB '????'
例:
我们有一个表名为“学生”具有以下数据:
在这些例子中具有“*”和不同的BLOB条款“?”的WHERE语句运营商:
声明 | 描述 |
---|---|
WHERE FEES GLOB ‘ 200*’ | 查找以200开头的任何值 |
WHERE费用GLOB ‘ * 200 *’ | 查找任意位置上具有200的任何值 |
WHERE FEES GLOB ‘ ?00*’ | 查找在第二和第三的位置有00的任何值 |
WHERE FEES GLOB ‘ 2??’ | 查找任何以2开头且长度至少为3个字符的值 |
WHERE费用GLOB ‘ * 2’ | 查找以2结尾的任何值 |
WHERE FEES GLOB ‘ ?2*3’ | 发现,在第二位置,并且端与3具有2的任何值 |
WHERE FEES GLOB ‘ 2???3’ | 查找以2开头,以3结尾的五位数中的任何值 |
选择“学生”表中的所有记录,其中岁开始就以2:
SELECT * FROM STUDENT WHERE AGEGLOB '2*';
输出:
例2:
选择从表“学生”的所有记录,其中费用开始2:
SELECT * FROM STUDENT WHERE FEESGLOB '2*';
【SQLite的Glob子句】输出:
推荐阅读
- SQLite的OR子句
- SQLite的LIKE子句
- SQLite的Where子句
- SQLite和AND子句
- SQLite的Delete删除查询
- SQLite的Update更新查询
- SQLite的Select选择查询
- SQLite的Insert插入查询
- SQLite的删除表