教程 > sql 教程 > 阅读:79

sql wildcard(通配符)——迹忆客-ag捕鱼王app官网

我们已经讨论过 sql like 运算符,该运算符可以使用通配符对表中的列进行模糊匹配。

sql like 支持两个通配符,具体看下表

通配符 描述
百分号 (%) 匹配一个或多个字符。
注意- ms access 使用星号 (*) 通配符而不是百分号 (%) 通配符。
下划线 (_) 匹配一个字符。
注意- ms access 使用问号 (?) 而不是下划线 (_) 来匹配任何一个字符。

百分号代表零、一个或多个字符。下划线代表单个数字或字符。这些符号可以组合使用。

语法

%_ 运算符的基本语法如下。

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 |
 ---- ---------- ----- ----------- ---------- 

查看笔记

扫码一下
查看教程更方便
网站地图