2016-08-18 4 views
0

я могу найти этот символ, используя местонахождение:Выберите два слова до символа в строке в MySQL

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

Но хотелось бы, чтобы выбрать (по крайней мере) слово перед ним так и в приведенном выше запросе я хотел бы для возврата «Цвет».

В идеале я хотел бы вернуться к X Словам, где все они являются обложками для инициализации, поэтому в этом случае «Любимый цвет». Я предполагаю, что мне нужно добавить Binary и Regex для этого, но я могу это сделать, если я пойму основную структуру того, как извлекать слово или слова перед расположенным символом.

ответ

0

Если вам просто нужно выбрать слово непосредственно перед : и слова, разделенные пробелом, то вы можете использовать substring_index в

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

И если вы хотите Favorite Color затем изменить индекс от -1 к -2