sqlite 的 LIKE 运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE运算符将返回真(true),也就是1。这里有两个通配符与LIKE运算符一起使用。
百分号(%)代表零个、一个或多个数字或字符
下划线(_)代表一个单一的数字或字符
这些符号可以被组合使用
语法
SELECT FROM table_name WHERE column LIKE 'XXXX%' or SELECT FROM table_name WHERE column LIKE '%XXXX%' or SELECT FROM table_name WHERE column LIKE 'XXXX_' or SELECT FROM table_name WHERE column LIKE '_XXXX' or SELECT FROM table_name WHERE column LIKE '_XXXX_'可以使用AND或OR运算符来结合N个数量的条件。在这里,XXXX可以是任何数字或字符串值。
实例
假设COMPANY表有以下记录:
显示COMPANY表中AGE 以 2 开头的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';
显示COMPANY表中ADDRESS文本里包含一个连字符(-)的所有记录:
sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
sqlite Glob子句
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 '????'实例:
假设COMPANY表有以下记录:
显示COMPANY表中AGE以2开头的所有记录:
sqlite> SELECT * FROM COMPANY WHERE AGE GLOB '2*';
显示COMPANYB表中ADDRESS文本里包含一个连字符(-)的所有记录
sqlite> SELECT * FROM COMPANY WHERE ADDRESS GLOB '*-*';
sqlite Limit子句
sqlite 的 LIMIT 子句限制由 SELECT语句返回的数据数量
语法
带有LIMIT子句的SELECT语句的基本语法如下:
SELECT column1,column2,columnN FROM table_name LIMIT [no of rows]
SELECT column1,columnN FROM table_name LIMIT [no of rows] OFFSET [row num]
实例
限制从表中提取的行数:
sqlite> SELECT * FROM COMPANY LIMIT 6;
从第三位开始提取3个记录
sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2;