MariaDB LIKE 子句在 WHERE 子句中使用,用于在指定列中搜索指定模式。与 LIKE 子句结合使用的通配符如下:

注意:NOT LIKE 子句是 LIKE 的否定 子句。

MariaDB 中的通配符

符号描述示例
%表示零个、一个或多个字符。'J%'表示以以下字符开头的值"J",例如John、Jo、Jack等。
_代表一个字符。'_o% ' 表示第二个位置有"o"的值,例如 - John、Jo 和 Journey 等。

语法

在 MariaDB 中使用 LIKE 子句的语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern; 

下表描述了与 LIKE 子句一起使用的模式,并使用 (%) 和 (_)。

模式描述
'J%'以"J"开头的值。
'%n'以"n"结尾的值。
'%oh%'任意位置含有"oh"的值。
'_o%'任意位置含有"o"的值。第二个位置。
'J_%'以"J"开头且至少包含 2 个字符的值。
'J__%'以"J"开头且至少 3 个字符的值。
'J %n'以"J"开头并以"n"结尾的值。

示例:

考虑一个数据库,其中包含一个名为 Employee 的表,其中包含以下记录:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

从 获取所有记录Employee 表,其中 Salary 以 3 开头并以 0 结尾,查询为:

SELECT * FROM Employee
WHERE Salary LIKE '3%0'; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalary
1JohnLondon253000
4KimAmsterdam303100
5RameshNew Delhi283000

类似地,要从Employee表中获取员工Name以"Jo"开头的所有记录,查询为:

SELECT * FROM Employee
WHERE Name LIKE 'Jo%'; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalary
1JohnLondon253000
3JoParis272800

使用 NOT LIKE 运算符: NOT LIKE 运算符用作 LIKE 运算符的否定。例如,要选择 Employee 表中 Name 不以"Jo"开头的所有记录,可以使用以下查询:

SELECT * FROM Employee
WHERE Name NOT LIKE 'Jo%'; 

这将产生如下所示的结果:

EmpIDNameCityAgeSalary
2MarryNew York242750
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800