gpt4 book ai didi

mysql - 在单个 MySQL 列中分隔标签

转载 作者:行者123 更新时间:2023-11-29 07:44:40 27 4
gpt4 key购买 nike

我正在处理堆栈溢出的数据转储,并且在一篇文章中,有一列(类型:字符串)用于采用以下形式的标签:

"<apache><tomcat><java><httpd><virtualhost>"

我如何使用 SQL 将它们分成单独的行?

这样我就有了这样的结果表:

ID    |          Tag
--------------------
1 | apache
2 | tomcat
3 | java
4 | httpd
5 | virtualhost

最佳答案

你可以用这样的逻辑来分解它:

select replace(replace(substring(substring_index(col, '><', n), '><', -1), '<', ''), '>', '')
from (select 1 as n union all select 2 union all select 3 select 4 union all select 5
) n join
table t
on length(col) - replace(length(replace(col, '>' '') <= n.n

select中的逻辑基本上是从列表中提取第 n 项。它还删除了 <>从值(value)观。

连接中的逻辑是获取第 n 个元素的编号。

关于mysql - 在单个 MySQL 列中分隔标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28161563/

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