我希望在给定数据中的任何字符串匹配后检索数据。
例如,我的数据字符串为:“ K Anil Babu”
我在表register_table中有与列作者匹配的数据,这些列与给定的字符串匹配为: Anil,Anil Babu,anil,Anil B,anil babu。
我将查询用作:
select authors from register_table WHERE authors like '%K Anil Babu%';
当我执行此查询时,没有数据显示。 如何匹配和显示具有给定字符串的任何字符串
答案 0 :(得分:3)
尝试一下
SELECT authors
FROM register_table
WHERE LOCATE(authors, "K Anil Babu");
结果
+-----------+
| authors |
+-----------+
| Anil |
| Anil Babu |
| anil |
| Anil B |
| anil babu |
+-----------+
演示:https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=e9ff92d64f0fefda039d451d8e903f79
表结构和示例数据
CREATE TABLE register_table(
authors_id int,
authors varchar(255)
);
INSERT INTO register_table
VALUES
(1, 'Sunil'),
(2, 'Anil'),
(3, 'Anil Babu'),
(4, 'anil'),
(5, 'Anil B'),
(6, 'anil babu'),
(7, 'Patsy W. Duncan'),
(8, 'Jeffery E.'),
(9, 'Herbst'),
(10, 'Andrew C. Mack');