Mysql从一个集合中删除特殊字符

时间:2013-05-15 22:22:45

标签: mysql sql database

我想删除查询中的特殊字符,任何人都可以提供帮助。这是我的查询

select sum(value) from table_1 where id in (1, 2,);

这是1,2,使用子查询从另一个表中获取。

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列表,而不是将所有子列连接到一个字段中。