나는 네가 뭘했는지 모르겠지만, 기본적으로 SQL에 int 배열을 전달하고 싶다면 문자열을 전달하는 것에 대해 생각해 보았다. (쉼표로 구분 된 값으로 보임) 그리고 나서 그들을 분리한다. SQL 내부에서 필요한 값으로 변환합니다. 그런 다음 원하는 테이블에 놓습니다.
필자는 며칠 전에 비슷한 일을해야했지만 분할 기능이없는 오라클 데이터베이스에서는 하나를 생성해야했습니다. 코드는 다음과 같습니다. SQL Server로 변환하는 데 문제가 없습니다.
CREATE OR REPLACE PACKAGE SPLIT_FNC IS
-- Create a Type to be used as a temp table
TYPE strArray IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
FUNCTION SPLIT_STR(word IN VARCHAR2) RETURN strArray;
END;
CREATE OR REPLACE PACKAGE BODY SPLIT_FNC IS
FUNCTION SPLIT_STR(word IN VARCHAR2) RETURN strArray IS items strArray;
temp NUMBER;
delim CHAR := ',';
start_index NUMBER := 1;
end_index NUMBER := -1;
BEGIN
temp := 1;
-- If INSTR can not find a match it will return 0
WHILE end_index != 0 LOOP
-- Find location of next comma
end_index := INSTR(word, delim, start_index, 1);
CASE
WHEN
end_index = 0
THEN
-- Catch the last value
items(temp) := SUBSTR(word, start_index);
ELSE
-- Get substring of start to next comma
items(temp) := SUBSTR(word, start_index, end_index - start_index);
END CASE;
start_index := end_index + 1;
temp := temp + 1;
END LOOP;
RETURN items;
END SPLIT_STR;
END SPLIT_FNC;
는 희망이 도움이됩니다 - Ankou
사용자가 전화 번호를 어떻게 입력합니까? SQL Server는 쉼표와 점은 신경 쓰지 않지만 사용자 인터페이스 응용 프로그램은 상관하지 않습니다. 어쨌든, 해결책은 사용자가 자신의 컴퓨터에서 원하는 수의 설정 (숫자 포맷 포함)을 선택하는 것입니다. 그가 사용하는 응용 프로그램이 이것을 존중하지 않으면 수정해야합니다. –