在mysql中的字符串中选择字符前的两个单词

时间:2016-08-18 13:41:01

标签: mysql locate

我可以使用locate找到一个给定的角色:

Select Locate(':','bla bla bla Favorite Color: Red yada yada')

但是想选择(至少)之前的单词,所以在上面的查询中我想返回'Color'。

理想情况下,我喜欢回到X Words,因为在这种情况下,他们都是初始上限,所以在这种情况下,“喜欢的颜色”。我假设我需要添加二进制和正则表达式,但如果我理解了如何在找到的字符之前提取单词或单词的基本结构,我可以这样做。

1 个答案:

答案 0 :(得分:0)

如果您只需要选择:之前的单词以及用空格分隔的单词,那么您可以使用substring_index作为

select 
 substring_index(
   substring_index('bla bla bla Favorite Color: Red yada yada',':',1)
   ,' ',-1
 ) as w ;

如果您需要Favorite Color,请将索引从-1更改为-2