Tôi đã có một vở kịch và tôi có thể cung cấp cho bạn một nửa giải pháp trong mysql thuần túy.
Bạn có thể nhận được chuỗi ở hai bên của từ bạn đang sử dụng sau khi sử dụng nó. Chỉ là không biết cách lấy từ thay vì toàn bộ chuỗi con. Hy vọng rằng nó hữu ích.
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;