строка mysql в разделяющую строку IN или что-то в этом роде?

Мне нужна функция Райта, которая будет принимать строку идентификаторов, например

('id1, id2, id3... idN')

а затем передать его в пункте

вызов этой функции будет выглядеть как select('id1,id2,id3...idN')

внутри функции он делает выбор следующим образом

выберите * из таблицы, где идентификатор в (@string)

если я передаю строку как строку, ее нерабочая строка выглядит как '8409 , 8410, 8414, 8416, 10284, 8408', как передать ее как отдельные идентификаторы, а не как строку?


person Andrey    schedule 20.08.2018    source источник


Ответы (1)


Если ваша строка отформатирована как 8409 , 8410, 8414, 8416, 10284, 8408, тогда другим вариантом является использование LIKE:

SELECT * FROM table WHERE CONCAT(',','string of id',',') LIKE CONCAT('%,',id,',%')

FIND_IN_SET() также может быть полезно для вас

SELECT * FROM table WHERE FIND_IN_SET(id,'string of id');
person lucumt    schedule 20.08.2018