下面是SQL通配符的详细讲解:
SQL通配符
SQL通配符是一些特殊字符,用于模糊匹配字符串。在SQL中,常用的通配符有以下三种:
- % 表示匹配任意长度的字符(包括0个字符)。
- _ 表示匹配单个字符,但是无法匹配空格。
- [] 表示匹配括号中任意一个字符,例如[abc]表示匹配a、b、c中任意一个字符。
通配符可以用于SELECT、WHERE、LIKE、BETWEEN等语句中。
实例
1. 使用 % 匹配任意长度的字符
假设我们有以下的employee表:
id | name | salary |
---|---|---|
1 | Alice | 50000 |
2 | Bob | 60000 |
3 | Charlie | 70000 |
4 | David | 80000 |
要查找所有薪水以"5"结尾的员工,可以使用以下SQL语句:
SELECT * FROM employee WHERE salary LIKE '%5';
这个语句中,%表示任意长度的字符(包括0个字符),所以它将匹配所有以5结尾的字符串。执行这个语句,会得到以下的结果:
id | name | salary |
---|---|---|
1 | Alice | 50000 |
这是因为只有Alice的薪水以5结尾。
2. 使用 [] 匹配任意一个字符
假设我们现在要查找所有姓"Sm"的员工,可以使用以下SQL语句:
SELECT * FROM employee WHERE name LIKE 'Sm%';
这个语句中,'Sm%'表示以"Sm"开头的任意长度字符串,它会匹配所有姓"Sm"的员工。但如果我们只想匹配"Smith"和"Smyth"这两种情况怎么办呢?这时就可以使用[]通配符了,如下所示:
SELECT * FROM employee WHERE name LIKE 'Sm[iy]th';
这个语句中,'[iy]'表示匹配i或y中任意一个字符,所以它会匹配"Smith"和"Smyth"这两个名字。执行这个语句,会得到以下的结果:
id | name | salary |
---|---|---|
3 | Smith | 70000 |
4 | Smyth | 80000 |
以上就是SQL通配符的详细讲解和两条实例,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL – 通配符 - Python技术站