我正在使用MySQL 5.5.37。我的一个VARCHAR列返回表单
的字符串数据Description Number 9 MOre description
每个字符串都会包含" Number"后跟一个实际数字,无论是一位还是多位数。
我的问题是我如何只选择单词" Number,"后面的字符串部分。这个数字是多少?在上面的示例中,我的select语句将返回" 9"。
答案 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;