SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB 运算符将返回真(true),也就是 1。与 LIKE 运算符不同的是,GLOB 是大小写敏感的,对于下面的通配符,它遵循 UNIX 的语法。
星号 (*)
问号 (?)
星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。
* 和 ? 的基本语法如下:
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 "?XXXX"
or
SELECT FROM table_name
WHERE column GLOB "?XXXX?"
or
SELECT FROM table_name
WHERE column GLOB "????"
您可以使用 AND 或 OR 运算符来结合 N 个数量的条件。在这里,XXXX 可以是任何数字或字符串值。
下面一些实例演示了 带有 "*" 和 "?" 运算符的 GLOB 子句不同的地方:
语句 | 描述 |
---|---|
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 结尾的任意值 |
让我们举一个实际的例子,假设 COMPANY 表有以下记录:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
下面是一个实例,它显示 COMPANY 表中 AGE 以 2 开头的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE GLOB "2*";
这将产生以下结果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
下面是一个实例,它显示 COMPANY 表中 ADDRESS 文本里包含一个连字符(-)的所有记录:
sqlite> SELECT * FROM COMPANY WHERE ADDRESS GLOB "*-*";
这将产生以下结果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
6 Kim 22 South-Hall 45000.0
在之前的讨论和示例中,我们检查了从单个表中检索,或从多个来源检索多个值。 大多数现实世界的数据操作要复杂得多,需要从多个...
索引是用于加速记录检索的工具。 索引为索引列中的每个值生成一个条目。 有四种类型的索引 -Primary(一条记录表示所有记录)Uni...
这是一个redis快速参考备忘单,其中列出了 redis 命令的示例 开始入门启动Redis$ redis-server连接到 redis(Redis CLI 客户端)...
OracleSelect语句的作用是在表单中查询数据,本文将为大家带来Select语句的详细用法介绍。SELECT语句使用方法在Oracle中,...
在Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。本文就为大家...
经过前几章的介绍,我们已经了解了什么是Oracle数据库以及其安装方法,那么本章节,将和大家说说如何使用SQL*plus和SQLDeveloper...
MySQL Date 函数定义和用法 DATE() 函数提取日期或日期/时间表达式的日期部分。 语法DATE(date) date 参数是合法的日期表达式。...
在MySQL中,只支持Union(并集)集合运算,而对于交集Intersect和差集Except并不支持。那么如何才能在MySQL中实现交集和差集...
SQL 备忘单为您提供了最常用的 SQL 语句供您参考。 开始连接 MySQLmysql -u user -pmysql [db_name]mysql -h host -P port -u us...