gpt4 book ai didi

mysql - 在上下文中提取搜索字符串

转载 作者:行者123 更新时间:2023-11-29 02:05:49 26 4
gpt4 key购买 nike

我正在尝试执行 MySQL 查询,在其中提取上下文中的搜索字符串。因此,如果搜索的是“mysql”,我想从“正文”列返回类似这样的内容

“从下载 MySQL 安装程序到准备好使用只需要几分钟”

这就是我现在得到的,但它不起作用,因为它只是从 body 字段中获取前 20 个字符。虽然我希望它在搜索词的前后捕获 20 个字符,以便用户可以看到该词在上下文中的样子:

SELECT id, title, substring(body, 0, 20)  FROM content WHERE body LIKE '%mysql%' OR title LIKE '%mysql%';

谢谢

最佳答案

这是您需要的 SQL:

SELECT
id,
title,
substring(body,
case
when locate('mysql', lower(body)) <= 20 then 1
else locate('mysql', lower(body)) - 20
end,
case
when locate('mysql', lower(body)) + 20 > length(body) then length(body)
else locate('mysql', lower(body)) + 20
end)
FROM content
WHERE lower(body) LIKE '%mysql%'
OR title LIKE '%mysql%'
limit 8;

仅供引用:经过测试且有效。

关于mysql - 在上下文中提取搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com