gpt4 book ai didi

mysql - 在 MySQL 中选择连接子字符串并替换

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

我有一个 .sql 文件,需要删除所有多余字符,只留下文本。所以“”里面的任何东西。列中 TEXT 字段的示例为

a:1:{i:0;s:9:"此处测试单词";}

a:1:{i:0;s:11:"这里也测试单词";}

所以我想要这些话。在这里测试一下这个词。也在这里测试单词。全部留在文本字段中。

我最初是这样的。

  UPDATE `questions`
SET answer = REPLACE(REPLACE(REPLACE(REPLACE(answer, 'a:1', ''), 's:4', ''), 'i:0', ''), ',', '')

但很快就意识到 s:4 有 s:5、s:16 等。所以这是行不通的。我的下一次尝试是使用 concat 并删除以 a:1 开头的一定数量的字符。我能够进行有效的选择。但无法让替换工作。下面您可以看到正在运行的 SELECT。

SELECT CONCAT('tt',
SUBSTRING(`answer`, -LOCATE('a:1', `answer`)+15)
) from `questions`;

这是我尝试使用 REPLACE 来使用它。但我被困住了。我愿意接受任何建议,以防我在这里走完全错误的方向。

SELECT CONCAT(REPLACE('tt',
SUBSTRING(`answer`, -LOCATE('a:1', `answer`)+15))
) from `questions`;

最佳答案

substring_index()怎么样?

UPDATE `questions`
SET answer = substring_index(substring_index(answer, '"', 2), '"', -1)

关于mysql - 在 MySQL 中选择连接子字符串并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823445/

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