English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite LIKE 子句

L'operatore LIKE di SQLite viene utilizzato per abbinare valori di testo con un modello utilizzando caratteri jolly. Se l'espressione di ricerca può abbinarsi all'espressione di modello, l'operatore LIKE restituirà true, ossia 1. Due caratteri jolly vengono utilizzati insieme all'operatore LIKE

  • Simbolo di percentuale (%)

  • Trattino basso (_)

Il simbolo di percentuale rappresenta zero, uno o più numeri o caratteri. Il trattino basso rappresenta un singolo numero o carattere. Questi simboli possono essere combinati.

Sintassi

Di seguito è riportata la sintassi di base di % e _.

SELECT FROM table_name WHERE column LIKE 'XXXX%'
o 
SELECT FROM table_name WHERE column LIKE '%XXXX%'
o 
SELECT FROM table_name WHERE column LIKE 'XXXX_'
o
SELECT FROM table_name WHERE column LIKE '_XXXX'
o
SELECT FROM table_name WHERE column LIKE '_XXXX_'

È possibile combinare n condizioni utilizzando l'operatore AND o OR. In questo caso, XXXX può essere qualsiasi valore numerico o stringa.

在线示例

下表列出了许多示例,这些示例显示WHERE部分具有不同的LIKE子句,且带有'%'和'_'运算符。

序号声明与说明
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

下面是一个示例,它将显示COMPANY表中AGE以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

下面是一个示例,它将显示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