제목을 다음과 같이 다시 작성하십시오. MySQL 저장 프로시저에 정수 배열 전달
P粉275883973
P粉275883973 2023-11-03 10:46:21
0
2
648

정수 배열과 다음과 같은 기타 입력을 받는 저장 프로시저를 만들고 싶습니다.

으아악

저장 프로시저에서 다음과 같이 사용하고 싶습니다.

으아악

문제는 이 방법으로 배열의 첫 번째 정수에 해당하는 행만 얻는다는 것입니다.

이를 작동하게 하는 방법이 있나요? (저도 FIND_IN_SET 但它的作用与 IN정확히 동일하게 사용해 보았습니다.)

저장 프로시저를 테스트하기 위해 제가 건 전화는 CALL test (12, 13, '1, 2, 3')입니다.

P粉275883973
P粉275883973

모든 응답(2)
P粉590428357

배열의 개념이 없습니다. 그래서 아마도 이것이 당신이 할 수 있는 일일 것입니다

당신의 array变量的值为'1, 2, 3' 문자열

  1. ,를 구분 기호로 사용하여 문자열을 분할하고,

  2. 임시 테이블에 각 값을 삽입하세요

그래서 임시 테이블에는 1,2,3

결국 임시 테이블을 사용하세요

P粉713866425

FIND_IN_SET()은 작동하지만 숫자 문자열에 공백을 포함할 수 없습니다.

데모:

으아악

그러므로 프로시저에 전달하기 전에 공백 없이 목록을 구성하거나 프로시저에서 REPLACE()를 사용하여 공백을 제거해야 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿