之前的SQL中我们学习了在Like子句中使用通配符去匹配字符,这里我们来学习一下在SQLite中使用Glob 子句进行通配符匹配。
与 LIKE 运算符不同的是,GLOB 是大小写敏感的。
Glob 子句可以使用以下通配符:
星号 (*)-- 表示任何字符出现任意次数。相当于like子句中的 (%)通配符
问号 (?)-- 匹配单个字符。相当于like子句中的 (_)通配符
实际操作
我们通过在taskpoint表中查询task_point_name列来进行演示
- 查询以
工井 G
开头的task_point_name
1、使用like子句,不区分大小写
SELECT task_point_name
FROM taskpoint
WHERE task_point_name like '工井 G%'
查询结果
2、使用Glob子句,区分大小写
SELECT task_point_name
FROM taskpoint
WHERE task_point_name GLOB '工井 G*'
查询结果
- 查询任意位置出现9
SELECT task_point_name
FROM taskpoint
WHERE task_point_name GLOB '*9*'
查询结果
- 查询倒数第二位是1的
SELECT task_point_name
FROM taskpoint
WHERE task_point_name GLOB '*1?'
查询结果
说明
Glob 子句和Like 子句的在使用上基本类似,区别在于:
1、Glob 子句使用星号 (*)和问号 (?)通配符;
2、GLOB 区分大小写。
网友评论