在MySQL中,如何在特定的字符串模式后提取字符串?

时间:2017-02-28 17:39:53

标签: mysql substring substr

我正在使用MySQL 5.5.37。我的一个VARCHAR列返回表单

的字符串数据
Description Number 9 MOre description

每个字符串都会包含" Number"后跟一个实际数字,无论是一位还是多位数。

我的问题是我如何只选择单词" Number,"后面的字符串部分。这个数字是多少?在上面的示例中,我的select语句将返回" 9"。

1 个答案:

答案 0 :(得分: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