gpt4 book ai didi

mysql - 将数据分解为 mysql 中的列

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

我有一个列,我想创建一个包含多个列的查询。

例如,我有测试列。

该列的数据如下所示:

record1 => **option1|value1;option2|value2**
record2 => **option3|value3**
record3 => **option3|value3;option1|value1;option2|value2;option4|value4**

选项的数量和值未定义。

我想让这个测试列像这样分成多个选项:

option1   option2   option3  option4
'value1' 'value2' 'value3'
'value3'
'value1' 'value2' 'value3' 'value4'

我的 table 是这样的:

    id  name    options
1 name age|12;color|red;active|yes;car|no
2 name age|15;member|yes

谢谢!

最佳答案

你可以写一个custom MySQL function called user defined function它可以接收变量名和要搜索的值,然后根据需要返回行或 ID 等。

在该函数中,您需要遍历只读游标中的所有行并使用 SUBSTRING_INDEX()分别获取值并检查匹配项。

如果您需要进一步的帮助,请告诉我。

有关 string functions here 的更多信息,请查看 MySQL 手册.

来自上述链接的用户评论摘录可能有助于您编写函数:这会将 IP 地址(“a.b.c.d”)拆分为 4 个相应的八位字节:

SELECT
`ip` ,
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table

关于mysql - 将数据分解为 mysql 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985085/

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