首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表列中获取第一次出现的数字

从表列中获取第一次出现的数字
EN

Stack Overflow用户
提问于 2015-03-10 10:03:57
回答 1查看 64关注 0票数 1

我想从表列中获取数字的第一次出现。

为了说明:

  • 对于列值“C 62/3,Industrial Area, Phase 2”,我应该得到“62/3
  • 对于列值“B-5 dummy, (dummy)”,我应该得到“B-5
  • 对于列值'21 dummy - 2, dummy‘,我应该得到'21’。

我试过:

代码语言:javascript
复制
select address,SUBSTRING(address, 1, LOCATE(' ', address) - 1) AS str
from items;
EN

回答 1

Stack Overflow用户

发布于 2015-03-10 11:05:47

嗯,我不是MySQL专家,但我认为你必须使用像mysql-udf-regexp这样的库。使用此方法,您可以使用REGEXP_SUBSTR获得包含数字的第一个子字符串。

代码语言:javascript
复制
SELECT 
  address,          
  REGEXP_SUBSTR(address, '[[^:space:]]*[[:digit:]]+[[^:space:]]*', 1, 1) AS str
FROM items;

这是未经测试的代码,但应该让您知道如何继续。这意味着您得到任何正数的数字([[:digit:]]+),然后是任意数量的非空白([[^:space:]]*);从第一个字符开始搜索并返回第一个出现(,1 ,1)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28960778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档