【问题标题】:In MySQL, how can I extract a string after a specific string pattern?在 MySQL 中,如何在特定字符串模式之后提取字符串?
【发布时间】:2017-07-19 19:32:44
【问题描述】:

我使用的是 MySQL 5.5.37。我的 VARCHAR 列之一返回表单的字符串数据

Description Number 9 MOre description

每个字符串都将包含单词“Number”,后跟一个实际数字,无论是一个数字还是多个数字。

我的问题是如何仅选择字符串中“数字”一词之后的部分,这就是数字?在上面的示例中,我的 select 语句将返回“9”。

【问题讨论】:

    标签: mysql substring substr


    【解决方案1】:

    如果“Number”后面有数值,则尝试使用substring_index获取数字,否则为null:

    select 
        case 
            when col regexp '.*Number [0-9]+.*' 
            then substring_index(substring_index(col, 'Number ', -1), ' ', 1)
        end 
    from t;
    

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2012-09-16
      • 1970-01-01
      相关资源
      最近更新 更多