SQLite LIKE子句

SQLite LIKE子句

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可以是任何数字或字符串值。

示例

下表列出了一些示例,显示具有不同LIKE子句的WHERE部分,使用’%’和’_’运算符。

序号 语句和描述
1 WHERE SALARY LIKE ‘200%’ 查找任何以200开头的值
2 WHERE SALARY LIKE ‘%200%’ 查找任何位置包含200的值
3 WHERE SALARY LIKE ‘_00%’ 查找以00为第二和第三个位置的值
4 WHERE SALARY LIKE ‘2_%_%’ 查找以2开头且至少为3个字符长度的值
5 WHERE SALARY LIKE ‘%2’ 查找以2结尾的值
6 WHERE SALARY LIKE ‘_2%3’ 查找以第二个位置为2且以3结尾的值
7 WHERE SALARY LIKE ‘2___3’ 查找以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

以下是一个示例,它将显示所有AGE以2开头的记录从COMPANY表中。

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '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  LIKE '%-%';

这将产生以下结果。

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程