मैंने एक नाटक किया है और मैं आपको शुद्ध mysql में आधा समाधान दे सकता हूं।
इसका उपयोग करने के बाद आप जिस शब्द का उपयोग कर रहे हैं उसके दोनों ओर स्ट्रिंग प्राप्त कर सकते हैं। बस यह नहीं पता कि पूरे सबस्ट्रिंग के बजाय शब्द कैसे प्राप्त करें। उम्मीद है कि यह मददगार है।
select case when (select w.t regexp concat('[[:<:]]', w.v)) = 1
then substr(w.t, 1, locate(w.v, w.t)-1) else null end as 'left_word',
w.v as word,
case when (select w.t regexp concat(w.v, '[[:>:]]')) = 1
then substr(w.t, locate(w.v, w.t)+length(w.v)) else null end as 'right_word'
from (
select "Lorem ipsum dolor sit amet consectetur adipiscing elit." as t, "amet" as v
) as w;
select case when (select w.t regexp concat('[[:<:]]', w.v)) = 1
then substr(w.t, 1, locate(w.v, w.t)-1) else null end as 'left_word',
w.v as word,
case when (select w.t regexp concat(w.v, '[[:>:]]')) = 1
then substr(w.t, locate(w.v, w.t)+length(w.v)) else null end as 'right_word'
from (
select "Lorem ipsum dolor sit amet consectetur adipiscing elit." as t, "elit." as v
) as w;