REPLACE()获取多个值并使用结果IN()

时间:2014-11-25 12:11:52

标签: mysql string

我想做那样的事情

SELECT
    id,
    num
FROM
    sometable
WHERE
    num IN (REPLACE ('K-123, K-456, K-678', 'K-', ''));

但:

(REPLACE ('K-123, K-456, K-678', 'K-', ''))

返回:' 123,456,678'

不如我所料:' 123',' 456',' 678'

那么,是否可以在REPLACE()之后创建元素列表以供作为参数IN()的使用?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用find_in_set()

where find_in_set(num, replace(replace('K-123, K-456, K-678', 'K-', ''), ', ', ',') ) > 0