SQLite – LIKE子句
使用SQLite LIKE运算符 用于匹配文本。如果搜索表达式可以匹配模式表达式,如操作符将返回true,这是1。有两个通配符与Like操作符一起使用:
- The percent sign (%)
- The underscore (_)
百分比符号代表零个、一个或多个数字或字符。下划线代表一个数字或字符。可以组合使用这些符号。
语法:
%和_的基本语法如下:
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_'
您可以使用N条件使用结合OR、AND操作符。这里XXXX可能是任何数字或字符串值。
例子
这里有几个例子显示 WHERE part having different LIKE clause with '%' and '_' operators:
语句 | 描述 |
WHERE SALARY LIKE '200%' | 发现任何值,从200年开始 |
WHERE SALARY LIKE '%200%' | 发现任何价值,200年的任何位置 |
WHERE SALARY LIKE '_00%' | 发现任何值,00在第二和第三的位置 |
WHERE SALARY LIKE '2_%_%' | 发现任何值,从2开始,至少3个字符的长度 |
WHERE SALARY LIKE '%2' | 发现任何值,以2结束 |
WHERE SALARY LIKE '_2%3' | 发现任何值,2在第二位置和结束3 |
WHERE SALARY LIKE '2___3' | 发现任何值在一个五位数,开始2和3 |
让我们以一个真实的例子,确信COMPANY table有以下记录:
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
下面是一个例子,这将显示所有记录公司表,年龄从2:
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
下面是一个例子,这将显示所有记录从公司表地址将文本中的连字符(-):
这将产生以下结果:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
6 Kim 22 South-Hall 45000.0