我想删除查询中的特殊字符,任何人都可以提供帮助。这是我的查询
select sum(value) from table_1 where id in (1, 2,);
这是1,2,使用子查询从另一个表中获取。
答案 0 :(得分:1)
要删除尾部冒号,您可以使用trim()
:
SELECT TRIM(TRAILING ',' FROM '1,2,');
答案 1 :(得分:0)
我的猜测是你想在列表中查找单个值,特别是因为id通常不包含逗号。
为此,你可以这样做:
select sum(value)
from table_1
where find_in_set(id, '1, 2,') > 0;
如果值来自子查询,最好直接使用子查询(在大多数情况下)。查询将类似于:
select sum(value)
from table_1
where id in (<subquery>);
您需要修改子查询以返回ID列表,而不是将所有子列连接到一个字段中。