소중한 시간내어주셔서 먼저 감사드립니다.
프로시저로 파라미터를 넘겨서 조회가 되도록 하려고 합니다.
select * from AAA
where aaa in (---이부분에 파라미터-----)
이런식으로 작성하려고 하는데 'a','b','c',... 처럼 여러개를 한꺼번에 조회하려고 할때는 어떻게 해야할지 모르겠습니다.
혹시 경험이 있으시거나 조언을 해주실 수 있을까요?
문자열을 구분자로 나누는 함수가 있거나 하면 되겠는데..
mysql에는 그런 용도의 내장된 함수는 없는 것 같습니다.
substr이나 instr 등의 함수를 활용한 사용자 함수를 만들어서 쓰거나 프로그램 처리해야 할듯 합니다.
with recursive T as ( select 'a,b,c,d,e,f' as items), N as ( select 1 as n union select n + 1 from N, T where n <= length(items) - length(replace(items, ',', ''))) select substring_index(substring_index(items, ',', n), ',', -1) parameters from N, T
.위와 같이 파라메터 문자열을 row로 바꿔 JOIN으로 풀거나
아래 같이 IN절로 사용하면 될거예요.
with recursive T as ( select 'a,b,c,d,e,f' as items), N as ( select 1 as n union select n + 1 from N, T where n <= length(items) - length(replace(items, ',', ''))) select * from AAA where aaa IN (select substring_index(substring_index(items, ',', n), ',', -1) from N, T)