SQLite LIKE子句
SQLite LIKE运算符用于使用通配符来匹配文本值和模式。在搜索表达式与模式表达式匹配的情况下,LIKE运算符将返回true,即1。
和LIKE运算符一起使用的有两个通配符:
- 百分号(
%
) - 下划线(
_
)
百分号代表零个、一个或多个数字或字符。下划线代表一个数字或字符。
语法:
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
或者
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
或者
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
或者
SELECT FROM table_name
WHERE column LIKE '_XXXX'
或者
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
在这里,XXXX可以是任何数值或字符串。
示例:
我们有一个名为’STUDENT’的表,以下是其数据:
在这些例子中,WHERE语句使用了不同的LIKE子句,其中包含%
和_
运算符,并且操作是在’FEES’列上进行的。
语句 | 描述 |
---|---|
Where FEES like '200%' |
查找以200开头的任何值。 |
Where FEES like '%200%' |
查找任何位置有200的值。 |
Where FEES like '_00%' |
查找第二和第三位均为00的任何值。 |
Where FEES like '2_%_%' |
查找以2开头且长度至少为3的任何值。 |
Where FEES like '%2' |
查找以2结尾的任何值。 |
Where FEES like '_2%3' |
查找第二位为2且以3结尾的任何值。 |
Where FEES like '2___3' |
查找以2开头且以3结尾的任何五位数字。 |
示例1: 从 STUDENT 表中选择所有记录,其中年龄以2开头。
SELECT * FROM STUDENT WHERE AGE LIKE '2%';
输出:
输出:
示例2:
从STUDENT表中选择所有地址中包含文本”a”(a)的记录:
SELECT * FROM STUDENT WHERE ADDRESS LIKE '%a%';
输出: