oracle select查询语句中的字符匹配 like
字符匹配 like 常用与 select 中的 where 子句中。
一般形式为:
where 列名 like 匹配串
where 列名 not like 匹配串
前者表示匹配该字符串,后者表示不匹配该字符串。
匹配串中可以包含以下四种常见的通配符:
_:匹配任意一个字符
%:匹配0个或多个字符
[]:匹配[]内的任意一个字符
[^]:不匹配[]内的任意一个字符
例子:
建立学生表Student(Sno, Sname, Sex, Sage, Sdept)。
- 查询姓‘张’的学生的详细信息。
- 查询学生表中姓‘张’、‘李’和‘刘’的学生的情况。
- 查询名字中第2个字为‘小’或‘大’的学生的姓名和学号。
- 查询所有不姓“刘”的学生。
- 查询学号的最后一位不是2、3、5的学生情况。
- 查询姓‘张’的学生的详细信息。
SELECT * FROM Student
WHERE Sname LIKE '张%'
- 查询学生表中姓‘张’、‘李’和‘刘’的学生的情况。
SELECT * FROM Student
WHERE Sname LIKE '[张李刘]%'
- 查询名字中第2个字为‘小’或‘大’的学生的姓名和学号。
SELECT Sname, Sno FROM Student
WHERE Sname LIKE '_[小大]%'
- 查询所有不姓“刘”的学生。
SELECT Sname FROM Student
WHERE Sname NOT LIKE '刘%'
- 查询学号的最后一位不是2、3、5的学生情况。
SELECT * FROM Student
WHERE Sno LIKE '%[^235]'