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结尾的五位数中的任何值 |
例1:
选择“学生”表中的所有记录,其中岁开始就以2:
SELECT * FROM STUDENT WHERE AGE GLOB '2*';
输出:
例2:
选择从表“学生”的所有记录,其中费用开始2:
SELECT * FROM STUDENT WHERE FEES GLOB '2*';
输出:
评论前必须登录!
注册