You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL查询结果中为LIKE匹配字符串添加HTML标记?

问题描述

我的数据库mydb中有如下数据:

id | name
---------
1  | abcdef
2  | bcdefg
3  | cdefgh
4  | defghi
5  | efghij

执行查询语句:

SELECT * FROM mydb WHERE name LIKE '%defgh%'

得到结果:

id | name
---------
3  | cdefgh
4  | defghi

希望直接通过MySQL在查询结果中新增html列,将LIKE语句匹配的defgh字符串用<mark>标签包裹,期望结果如下:

id | name   | html
----------------
3  | cdefgh | c<mark>defgh</mark>
4  | defghi | <mark>defgh</mark>i
解决方案

可以用MySQL的REPLACE()函数直接实现这个需求,具体查询语句如下:

SELECT 
    id,
    name,
    REPLACE(name, 'defgh', '<mark>defgh</mark>') AS html
FROM mydb 
WHERE name LIKE '%defgh%';

这个语句通过REPLACE()函数,将name字段中匹配的defgh字符串替换为<mark>defgh</mark>,直接生成包含HTML标记的html列,同时保留原name字段和id字段的内容,完全符合你的期望结果。

内容的提问来源于stack exchange,提问作者Aurélien Grimpard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:58:15