SQL 匹配开放式模式

示例

%附加到字符串开头或结尾(或两者都有)的通配符将允许模式开头或结尾之前的0个或多个任何字符匹配。

在中间使用'%'将允许模式的两个部分之间的0个或多个字符匹配。

我们将使用此员工表:

ID姓名名称号码ManagerId部门编号薪水雇用日期
1约翰约翰逊2468101214114002005年3月23日
2苏菲阿姆德森2479100211114002010年11月1日
3罗尼史密斯2462544026216002015/06/08
4乔恩桑切斯2454124602114002005年3月23日
5希尔德na2468021911218002000年1月1日

以下语句匹配雇员表中FName包含字符串“ on”的所有记录。

SELECT * FROM Employees WHERE FName LIKE '%on%';

ID姓名名称号码ManagerId部门编号薪水雇用日期
3[R纽约史密斯2462544026216002015/06/08
4Ĵ桑切斯2454124602114002005年3月23日

以下语句匹配Employees中所有具有号码字符串“ 246”开头的记录。

SELECT * FROM Employees WHERE PhoneNumber LIKE '246%';

ID姓名名称号码ManagerId部门编号薪水雇用日期
1约翰约翰逊246 8101214114002005年3月23日
3罗尼史密斯246 2544026216002015/06/08
5希尔德na246 8021911218002000年1月1日

以下语句匹配所有来自Employees的号码字符串“ 11”结尾的记录。

SELECT * FROM Employees WHERE PhoneNumber LIKE '%11'

ID姓名名称号码ManagerId部门编号薪水雇用日期
2苏菲阿姆德森24791002 11114002010年11月1日
5希尔德na24680219 11218002000年1月1日

员工中Fname第三个字符为“ n”的所有记录。

SELECT * FROM Employees WHERE FName LIKE '__n%';

(在“ n”之前使用两个下划线来跳过前两个字符)

ID姓名名称号码ManagerId部门编号薪水雇用日期
3罗尼史密斯2462544026216002015/06/08
4乔恩桑切斯2454124602114002005年3月23日