LIKE子句中使用的SQL比较类似的值,使用通配符操作符的值。有两个通配符与LIKE运算符一起使用:
-
百分号 (%)
-
下划线 (_)
百分号表示零个,一个或多个字符。下划线代表一个单独的数字或字符。可以将符号进行组合使用。
语法:
%和_的基本语法如下:
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多的条件下使用AND或OR运算。这里XXXX可以是任何数字小或字符串值。
例子:
这里是一些例子来说明,其中部分具有不同LIKE'%'和'_'操作符的子句:
声明 | 描述 |
---|---|
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' | 带有3查找有一个2的任何值,在第二位置和结束 |
WHERE SALARY LIKE '2___3' | 查找一个五位数中的任何值,从2开始和结束3 |
让我们以一个真实的例子,考虑CUSTOMERS表中有以下记录:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
以下是一个例子,它会显示从CUSTOMERS表中所有薪金是200的记录:
SQL> SELECT * FROM CUSTOMERS WHERE SALARY LIKE '200%';
这将产生以下结果:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+