gpt4 book ai didi

MySql 删除所有与表值匹配的子字符串

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

我有一个 VARCHAR 变量,我想删除与表中的列匹配的所有子字符串。到目前为止,我已经构建了一个查询,该查询将使用以下查询返回属于我的变量子字符串的所有行:

SET @myval = '%For Her, Shoes,, Sizes 14-24%';

SELECT strReplace
FROM tbl_StringsToReplace
WHERE @myval LIKE CONCAT('%', strReplace, '%');

但是我在编写替换多个值的 REPLACE 查询时遇到问题。我正在尝试写如下内容:

SET @myval = REPLACE((SELECT strReplace
FROM tbl_StringsToReplace
WHERE @myval LIKE CONCAT('%', strReplace, '%')), '', @myval);

但我收到错误:

错误代码:1242。子查询返回超过 1 行

我很想用纯 SQL 来实现这一点。不管怎样,任何建议将不胜感激。谢谢

最佳答案

尝试:

SET @myval = '%For Her, Shoes,, Sizes 14-24%';

select val into @myval
from (
SELECT @myval := replace(@myval, strReplace, '') val
FROM tbl_StringsToReplace
) r
order by length(val)
limit 1;

select @myval;

关于MySql 删除所有与表值匹配的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32431308/

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