정수 배열과 다음과 같은 기타 입력을 받는 저장 프로시저를 만들고 싶습니다.
으아악
저장 프로시저에서 다음과 같이 사용하고 싶습니다.
으아악
문제는 이 방법으로 배열의 첫 번째 정수에 해당하는 행만 얻는다는 것입니다.
이를 작동하게 하는 방법이 있나요? (저도 FIND_IN_SET
但它的作用与 IN
정확히 동일하게 사용해 보았습니다.)
저장 프로시저를 테스트하기 위해 제가 건 전화는 CALL test (12, 13, '1, 2, 3')
입니다.
배열의 개념이 없습니다. 그래서 아마도 이것이 당신이 할 수 있는 일일 것입니다
당신의
array
变量的值为'1, 2, 3'
문자열,
를 구분 기호로 사용하여 문자열을 분할하고,임시 테이블에 각 값을 삽입하세요
그래서 임시 테이블에는
1,2,3
결국 임시 테이블을 사용하세요
FIND_IN_SET()은 작동하지만 숫자 문자열에 공백을 포함할 수 없습니다.
데모:
으아악그러므로 프로시저에 전달하기 전에 공백 없이 목록을 구성하거나 프로시저에서 REPLACE()를 사용하여 공백을 제거해야 합니다.