찾다

 >  Q&A  >  본문

제목을 다음과 같이 다시 작성하십시오. MySQL 저장 프로시저에 정수 배열 전달

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

으아악

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

으아악

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

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

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

P粉275883973P粉275883973420일 전678

모든 응답(2)나는 대답할 것이다

  • P粉590428357

    P粉5904283572023-11-04 09:16:19

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

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

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

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

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

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

    회신하다
    0
  • P粉713866425

    P粉7138664252023-11-04 00:46:05

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

    데모:

    으아악

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

    회신하다
    0
  • 취소회신하다