扫码一下
查看教程更方便
sql like语句用于使用通配符对值进行模糊匹配。有两个通配符与 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_'
下表有几个示例,显示了 where 部分具有不同的 like 语句,其中包含 %
和 _
运算符
like 语句 | 描述 |
---|---|
where salary like '200%' | 查找任何以 200 开头的值。 |
where salary like ' 0%' | 查找在任何位置具有 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 结尾的五位数字中的任何值。 |
让我们看一个真实的例子,如下 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 |
---- ---------- ----- ----------- ----------