在字段中的特定单词后选择Word

时间:2016-04-17 13:21:44

标签: mysql

我有一个字符串字段FieldS,长度可以是2-10个字。我可以很容易地找到包含单词' X'但我要找的是用' X NextWord'提取所有独特的单词对。显然,我可以做到

Select FieldS from Table1 where FieldS like '% X %'

我想知道这里有一个substring_index,但是如果经过几次尝试,我就无法构建,所以可能有一个我不知道的更相关的功能。

1 个答案:

答案 0 :(得分:0)

您可以使用substring_index()执行此操作 - 两次。

这是一种方式:

select concat(X, ' ',
              substring_index(substring_index(field5, 'X', -1), ' ', 1)
             )

注意:

  • 这假设'X'仅在字符串中出现一次。或者,更准确地说,它使用字段中最后一次出现的'X'
  • 这假定唯一的分词符号是空格。

编辑:

如果您担心可以使用的X周围的空格:

select concat(X, ' ',
              substring_index(substring_index(concat(' ', field5, ' '), ' X ', -1), ' ', 1)
             )