SQLite LIKE子句

SQLite LIKE子句

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表中查询age5结尾的所有记录。

SELECT * FROM STUDENT WHERE AGE  LIKE '%5';

执行上面语句,得到以下结果 -

示例2:

STUDENT表中查询地址值具有“an”字符的所有记录:

SELECT * FROM STUDENT WHERE ADDRESS LIKE '%an%';

执行上面语句,得到以下结果 -


目录

SQLite主键