首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Mysql中查找存储在一个字符串中的多个in

在Mysql中查找存储在一个字符串中的多个in
EN

Stack Overflow用户
提问于 2019-04-16 03:21:03
回答 1查看 47关注 0票数 1

我有一个类似如下的字符串:pi_18944000_780345308_54210001000_345900_text

如何提取位于其中的所有Ids并进行存储?

我尝试了这样的东西:

代码语言:javascript
复制
    set @a = (SELECT
      SUBSTRING(SUBSTRING(SUBSTRING('pi_18944000_780345308_54210001000_345900_text',
     (LOCATE('_', 'pi_18944000_780345308_54210001000_345900_text'))), 2), 1, 
    LOCATE('_', SUBSTRING(SUBSTRING('pi_18944000_780345308_54210001000_345900_text',
     (LOCATE('_', 'pi_18944000_780345308_54210001000_345900_text'))), 2)) - 1)
    ); 
    select @a;
代码语言:javascript
复制
set @b = (SELECT
  SUBSTRING(SUBSTRING(SUBSTRING(SUBSTRING(SUBSTRING(
  'pi_18944000_780345308_54210001000_345900_text'  , (  LOCATE('_',  'pi_18944000_780345308_54210001000_345900_text'  ))  ), 2),
  LOCATE('_', SUBSTRING(SUBSTRING(  'pi_18944000_780345308_54210001000_345900_text',  (  LOCATE('_', 'pi_18944000_780345308_54210001000_345900_text'
  ))), 2))), 2), 1, LOCATE('_', SUBSTRING(SUBSTRING(SUBSTRING(SUBSTRING(  'pi_18944000_780345308_54210001000_345900_text'  , (
  LOCATE(  '_',  'pi_18944000_780345308_54210001000_345900_text'  ))), 2),
  LOCATE('_',  SUBSTRING(SUBSTRING(  'pi_18944000_780345308_54210001000_345900_text',  (
  LOCATE('_',  'pi_18944000_780345308_54210001000_345900_text'  )))  , 2))), 2)) - 1) );

select @b;

这是可行的,但它真的很复杂。只是想看看有没有更好的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-16 03:56:29

这里有一个稍微简单一些的解决方案。它使用SUBSTRING_INDEX()内置函数。它只需要引用字符串表达式一次。

代码语言:javascript
复制
mysql> set @str = 'pi_18944000_780345308_54210001000_345900_text';

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@str, '_', 3), '_', -1) AS n;
+-----------+
| n         |
+-----------+
| 780345308 |
+-----------+

请参阅https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring-index

下一次,如果需要在SQL表达式中引用单个id,则应该考虑不在一个字符串中存储多个id。

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

https://stackoverflow.com/questions/55695974

复制
相关文章

相似问题

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