我有一列“路径” - 有效路径如下所示:
“PAGE:StackOverflow:SystemOfReptation:HowTo”
或
“COOKBOOK:很棒:Cookie”
我需要区分第一部分中的所有名称。
所以我有一个像这样的列表:
Sections:
1. PAGE
2. COOKBOOK
我需要区分特殊第一部分的第二部分中的所有名称。
就像“PAGE”第一部分一样:
Section of "PAGE"
1 .StackOverflow
我完全不知道如何做到这一点,Mysql 中是否有类似 Regex 的东西可以用于此目的?
感谢您的帮助
最佳答案
要获取第一部分的不同列表,可以使用MySQL函数 substring_index
SELECT DISTINCT(SUBSTRING_INDEX(PATH, ':', 1)) SECTIONS
FROM MY_TABLE
这将返回“:”后面所有内容的不同列表。请注意,如果 PATH 中没有“:”,则会完整返回。 如果需要,您可以添加一个 where 子句,例如:
WHERE INSTR(PATH, ":") <> 0
instr() 函数将返回第一次出现的位置。
最后,您可以使用上述查询作为子查询来连接同一个表,以提取路径的第二层。
关于mysql - Mysql中2个字符之间的不同路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070177/