mysql如何实现模糊查询包含某个字符串的所有字符。需要直接用代码、另外还需要单独写一个查询函数两种方法实现。
比如表名称为user,有列名称为name,该字段下有若干姓名,张三,李四,王三多等,
现模糊查询关键字张三,要求将所有姓名同时包含《张》字和《三》字的结果全部显示出来。可显示查询结果:
张三 张二三 张三多 三张 三一张
mysql模糊查询包含某个字符串的所有字符
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
14条回答 默认 最新
- 喝茶品人生 2023-08-03 10:08关注
第一个代码是gpt的话,只能默认推荐第一种方式,但是匹配度不是所有情况都能覆盖
SELECT * FROM user WHERE name LIKE '%张%' AND name LIKE '%三%'; SELECT * FROM user WHERE name REGEXP '张.*三|三.*张';
CREATE FUNCTION search_zhangsan(keyword VARCHAR(255)) RETURNS Text DETERMINISTIC BEGIN DECLARE result TEXT; SET result = ''; SELECT GROUP_CONCAT(name SEPARATOR ', ') INTO result FROM user WHERE name REGEXP CONCAT('(张.*三)|(三.*张)'); RETURN result; END; SELECT search_zhangsan('张三')
解决 2无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度