Select mysql 中字符串中字符前的两个单词
Select Two Words before character in string in mysql
我可以使用 locate 找到给定的字符:
Select Locate(':','bla bla bla Favorite Color: Red yada yada')
但是想要 select(至少)前面的词所以在上面的查询中我想要 return 'Color'.
理想情况下,我希望 return 最多 X 个单词,它们都是初始上限,所以在这种情况下 'Favorite Color'。我假设我需要为此添加 Binary 和 Regex,但如果我了解如何在找到的字符之前提取一个或多个单词的基本结构,我可以这样做。
如果您只需要 select :
之前的单词和由 space 分隔的单词,那么您可以使用 substring_index
作为
select
substring_index(
substring_index('bla bla bla Favorite Color: Red yada yada',':',1)
,' ',-1
) as w ;
如果您想要 Favorite Color
,则将索引从 -1
更改为 -2
我可以使用 locate 找到给定的字符:
Select Locate(':','bla bla bla Favorite Color: Red yada yada')
但是想要 select(至少)前面的词所以在上面的查询中我想要 return 'Color'.
理想情况下,我希望 return 最多 X 个单词,它们都是初始上限,所以在这种情况下 'Favorite Color'。我假设我需要为此添加 Binary 和 Regex,但如果我了解如何在找到的字符之前提取一个或多个单词的基本结构,我可以这样做。
如果您只需要 select :
之前的单词和由 space 分隔的单词,那么您可以使用 substring_index
作为
select
substring_index(
substring_index('bla bla bla Favorite Color: Red yada yada',':',1)
,' ',-1
) as w ;
如果您想要 Favorite Color
,则将索引从 -1
更改为 -2