当前位置:  开发笔记 > 后端 > 正文

在MySQL中的分隔符之间搜索文本

如何解决《在MySQL中的分隔符之间搜索文本》经验,为你挑选了1个好方法。

我试图提取分隔符之间的列的某个部分.

例如,在下面找到foo

测试'esf:foo:bar

所以在上面我想要返回foo,但是所有的regexp函数只返回true | false,有没有办法在MySQL中执行此操作



1> Pete Karl II..:

芽,芽:

SELECT 
  SUBSTR(column, 
    LOCATE(':',column)+1, 
      (CHAR_LENGTH(column) - LOCATE(':',REVERSE(column)) - LOCATE(':',column))) 
FROM table

是的,不知道为什么你这样做,但这将成功.

通过执行LOCATE,我们可以找到第一个':'.要找到最后一个':',没有反向LOCATE,所以我们必须通过执行LOCATE(':',REVERSE(列))手动完成.

使用第一个':'的索引,从最后':'到字符串结尾的字符数,以及CHAR_LENGTH(不要对此使用LENGTH()),我们可以使用一点数学来发现两个':'实例之间的字符串长度.

通过这种方式,我们可以执行SUBSTR并动态地拔出两个':'之间的字符.

再说一次,这很糟糕,但对每个人来说都是如此.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有