📅  最后修改于: 2023-12-03 14:53:09.413000             🧑  作者: Mango
在 SQL 中,可以使用 LIKE 运算符来查找名称包含特定子字符串的记录。 LIKE 运算符使用通配符(通常是 %)来匹配任意数量的字符。
以下是 LIKE 运算符的基本语法:
SELECT * FROM table_name WHERE column_name LIKE '%search_keyword%';
在此语法中,table_name 是要搜索的表的名称,column_name 是要搜索的列的名称,search_keyword 是要搜索的子字符串。
请注意,在搜索关键字的两侧添加百分号(%)将告诉 SQL 查找任何以搜索关键字开头或结尾的记录。
以下是一个示例,说明如何在具有名为 customers 的表中查找所有名字包含 "John" 的记录:
SELECT * FROM customers WHERE name LIKE '%John%';
如果要查找任何以 "John" 开头的记录,请改为以下代码:
SELECT * FROM customers WHERE name LIKE 'John%';
如果要查找任何以 "John" 结尾的记录,请改为以下代码:
SELECT * FROM customers WHERE name LIKE '%John';
LIKE 运算符默认区分大小写。如果要进行不区分大小写的搜索,请使用 ILIKE 运算符(具体取决于您使用的数据库)。
在某些数据库中,需要使用双引号引用列名,如下所示:
SELECT * FROM customers WHERE "name" LIKE '%John%';
确保使用参数化查询避免 SQL 注入攻击。
LIKE 运算符可能会使查询变慢,尤其是在搜索大型表时。考虑其他搜索选项,如全文搜索索引。
在某些数据库中,使用通配符可能会减慢搜索速度。如果您只需要查找开头或结尾的记录,请考虑使用字符串函数或正则表达式。
LIKE 运算符是 SQL 中一种强大的搜索选项,使您能够查找包含特定子字符串的记录。使用通配符(%)可以在任何位置查找搜索关键字并进行高度定制搜索。