zjm121221 2023-08-02 21:52 采纳率: 7.4%
浏览 43
已结题

mysql模糊查询包含某个字符串的所有字符

mysql如何实现模糊查询包含某个字符串的所有字符。需要直接用代码、另外还需要单独写一个查询函数两种方法实现。
比如表名称为user,有列名称为name,该字段下有若干姓名,张三,李四,王三多等,
现模糊查询关键字张三,要求将所有姓名同时包含《张》字和《三》字的结果全部显示出来。可显示查询结果:
张三 张二三 张三多 三张 三一张

  • 写回答

14条回答 默认 最新

  • 喝茶品人生 2023-08-03 10:08
    关注

    第一个代码是gpt的话,只能默认推荐第一种方式,但是匹配度不是所有情况都能覆盖

    img

    SELECT * FROM user WHERE name LIKE '%张%' AND name LIKE '%三%';
    SELECT * FROM user WHERE name REGEXP '张.*三|三.*张';
    
    
    

    img

    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('张三')
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月4日
  • 创建了问题 8月2日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度