SQLite LIKE
运算符用于使用通配符将文本值与模式进行匹配。 在搜索表达式与模式表达式匹配的情况下,LIKE
运算符将返回真,即: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
的表,并具有以下数据:
sqlite> SELECT * FROM STUDENT ; 1|Maxsu|27|Shengzheng|20000.0 2|Minsu|25|Beijing|15000.0 3|Avgsu|23|Shanghai|2000.0 4|Linsu|25|Guangzhou|65000.0 5|Sqlsu|26|Hainan|25000.0 6|Javasu|21|Shengzheng|18000.0 sqlite>
在这些示例中,在WHERE语句的LIKE子句中,在’FEES
‘字段上使用’%
‘和’_
‘运算符,对应结果如下:
语句 | 结果说明 |
---|---|
Where FEES like '200%' |
查找以200 开头的任何值 |
Where FEES like '%200%' |
查找包含200 开头的任何值 |
Where FEES like '_00%' |
查找第二个位置和第三个位置是0 的任何值 |
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
表中查询age
以5
结尾的所有记录。
SELECT * FROM STUDENT WHERE AGE LIKE '%5';
执行上面语句,得到以下结果 -
示例2:
从STUDENT
表中查询地址值具有“an
”字符的所有记录:
SELECT * FROM STUDENT WHERE ADDRESS LIKE '%an%';
执行上面语句,得到以下结果 -