gpt4 book ai didi

mysql - 如何在整个字符串中出现的倒数第三个索引处找到一个字符,并在它之前添加另一个字符?

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

我有一个充满重要信息的数据库...我需要更改信息以适应新格式...

当前信息遵循此格式...(注意这全部插入一个单元格中)

DataString1:SomeOtherString1:MoreString1|DataString2:SomeOtherString2:MoreString2|DataString3:SomeOtherString3:MoreString3

我需要能够执行以下操作...1) 找到所有“|”符号。2) 对于每个“|”符号我需要找到它之前的第二个“:”。3) 在步骤2的结果之前插入另一个':'。

我可以通过另一种语言(例如 PHP)的代码来完成此操作,但我希望能够通过 SQL 来完成此操作。

上面的例子会变成这样......(我将更改加粗......)

DataString1::SomeOtherString1:MoreString1|DataString2::SomeOtherString2:MoreString2|DataString3::SomeOtherString3:MoreString3

我最终只是制作了一个 PHP 脚本来执行此操作,我什至不确定我想要的东西是否完全可以通过 MySQL 实现,因为有超过 30 个 | 实例。每个单元格中都有超过 180 个“:”实例......如果有人有答案,请随时发布,如果有效,我会将其投票为最佳答案

最佳答案

在sql中,子字符串可以像这样使用子字符串(表达式,起始位置,长度),如果您的出现重复,那么您将必须创建一个更新脚本,该脚本将检查字符长度处的子字符串位置,例如

 DataString1

这里S的位置是5,应该统计|出现的次数并将其保存到变量中

select @sd substring (column_name ,start,length) from table where --conditons
Update table set column_name = '' where substring (column_name ,start,length) = '|'

您必须获取 @sd 的出现并进行数学运算以连接字符串并更新单元格

关于mysql - 如何在整个字符串中出现的倒数第三个索引处找到一个字符,并在它之前添加另一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887978/

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