【问题标题】:MySQL LIKE query - return just the matched substring in SELECTMySQL LIKE 查询 - 仅返回 SELECT 中匹配的子字符串
【发布时间】:2021-09-01 19:46:14
【问题描述】:

有没有办法从 MySQL LIKE 查询中返回匹配的完整子字符串。我的意思

SELECT `title` FROM `search_index` WHERE (`title` LIKE '%inno%') 它返回一堆匹配的记录。

标题看起来像Innovative Technology

比提取的标题只返回Innovative 匹配?

【问题讨论】:

    标签: mysql select extract


    【解决方案1】:

    MySQL 的 LIKE 运算符并不适合检测字符串中的单个单词。但是支持正则表达式的 REGEXP 可以处理这个问题。考虑以下查询:

    SELECT title FROM search_index WHERE title REGEXP '[[:<:]]inno[[:>:]]';
    

    【讨论】:

      【解决方案2】:

      你可以使用正则表达式:

      select regexp_substr('Innovative Technology', '[a-zA-Z]*inno[a-zA-Z]*')
      

      【讨论】:

        猜你喜欢
        • 2011-06-22
        • 2013-01-19
        • 2014-08-02
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多