我想从表格列中获取第一次出现的数字。
举例说明:
C 62/3,Industrial Area, Phase 2
',我应该得到' 62/3
' B-5 dummy, (dummy)
',我应该得到' B-5
' 21 dummy - 2, dummy
'我应该得到' 21
'。我试过了:
select address,SUBSTRING(address, 1, LOCATE(' ', address) - 1) AS str
from items;
答案 0 :(得分:0)
好吧,我不是MySQL专家,但我认为你必须使用像mysql-udf-regexp这样的库。使用此功能,您可以获得包含REGEXP_SUBSTR
的第一个包含数字的子字符串:
SELECT
address,
REGEXP_SUBSTR(address, '[[^:space:]]*[[:digit:]]+[[^:space:]]*', 1, 1) AS str
FROM items;
这是未经测试的代码,但应该让您知道如何继续。这意味着您获得任意数量的正数([[:digit:]]+
),后跟任意数量的非空格([[^:space:]]*
);从第一个字符开始搜索并返回第一个匹配项(,1 ,1
)。