📅  最后修改于: 2020-12-29 04:34:59             🧑  作者: Mango
SQL LIKE子句用于使用通配符运算符将值与相似值进行比较。与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_'
您可以使用AND或OR运算符组合N个条件。在此,XXXX可以是任何数字或字符串值。
下表列出了一些示例,这些示例显示WHERE部分具有不同的LIKE子句,其中包含’%’和’_’运算符-
Sr.No. | Statement & Description |
---|---|
1 |
WHERE SALARY LIKE ‘200%’ Finds any values that start with 200. |
2 |
WHERE SALARY LIKE ‘%200%’ Finds any values that have 200 in any position. |
3 |
WHERE SALARY LIKE ‘_00%’ Finds any values that have 00 in the second and third positions. |
4 |
WHERE SALARY LIKE ‘2_%_%’ Finds any values that start with 2 and are at least 3 characters in length. |
5 |
WHERE SALARY LIKE ‘%2’ Finds any values that end with 2. |
6 |
WHERE SALARY LIKE ‘_2%3’ Finds any values that have a 2 in the second position and end with a 3. |
7 |
WHERE SALARY LIKE ‘2___3’ Finds any values in a five-digit number that start with 2 and end with 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表中的所有记录,其中SALARY以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 |
+----+----------+-----+-----------+----------+