我想从表列中获取数字的第一次出现。
为了说明:
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;发布于 2015-03-10 11:05:47
嗯,我不是MySQL专家,但我认为你必须使用像mysql-udf-regexp这样的库。使用此方法,您可以使用REGEXP_SUBSTR获得包含数字的第一个子字符串。
SELECT
address,
REGEXP_SUBSTR(address, '[[^:space:]]*[[:digit:]]+[[^:space:]]*', 1, 1) AS str
FROM items;这是未经测试的代码,但应该让您知道如何继续。这意味着您得到任何正数的数字([[:digit:]]+),然后是任意数量的非空白([[^:space:]]*);从第一个字符开始搜索并返回第一个出现(,1 ,1)。
https://stackoverflow.com/questions/28960778
复制相似问题